-==============================-============-================================-
=;;;;;;::::;;;;;;;;;;;;;;;;;:;::::::::::::::::;;;;;;;::;;;;;;;::::::::::;;;;;=
=;;;;;;;;;;;;//;;;::;;;;;;;;;;;;;;;::;:::::;;;;;;;;;;;;;;;;;;;:;;;;;;;;;;;///=
=/+%++%++////+%/;;++//+++++%+++/+///+///;;;;;;;;///;;;;;;;;;;;;;;///;;/;;///;=
=/+$/+X+%%;/%//%/;%%;/$$++%$+%+%%//$%;/$;;;;;;;;;;;;;;::;;;;//;//;;;;;;;;;///=
=/;/+++/+/;/;;;//;%%++//++++/++//////;;+;;;;;;;;;;;;;;;;;;;///////;;/;;;/////=
=;;/////;;/;;;;;;;/;;;+++/++++++/+/+/++/+/++%%+++/%%++%////////////////+/+//+=
=;;////////;;;;;;;///;/+++%++/%++$/%++%/++%%%%+$$%$%%++//////////////++++++++:
=///+++++++/////;////////////////////////;//+++++++///;///////++++++++%%%%+%%:
=+++++++//++/+++////+/////////;;;;;;;/;;;///////++++//+///////+++++++++%%%%%%:
=////////;/+++++/++/+/////////////;///;//////+////++%%+++++++++++%%+%%%%%%%%%:
=;;;/;;;;;;;;;;;;;;;;;;///;;;/;//////;;;;;;/////////+/++++////+++++++++++/++%=
=/;////////;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;///////;;;;;/;/////////;;///=
=;;;///////;;;;;;;;;;;;::;;;;;;;;;;:;;;;;;;;;;;;;;////;;;;;;;;;;;:;;;//;;////=
=::;;;;::;:;;;;;;;::::::::::;;;;;:::::;;;;;:::;;;;;;;;;;;;//;;;;;;;;;;;;;;//+=
=;;;;;;;:::;;;;;;;:::::::::;;;;;;;;;;;;;;::;;;:;;;;;;;;;;;//;;;;;;;////;;;//;=
=;;;;;;//;;/;;;;;;;;;;;;;;;;:;;;;;;;;;;;;;;;;;;//////////////////////;;;//++/=
=::;;;;;;;;;;;;;;;;;;;;;;;::::::::::::::::;::::::;;;;;;;;;::;;;;;/;;;;;;;;;;;=
-:=:::::::::::::::::=================:::::======::::::::====::::=::::::::===:-
-========================-=====:====::::::::::::::::;;;;:======:;;;;;;:::===:-
-:================================:::;;;;:::::::::;;;;;::=::;;$HX%%$$%;;=::::=
-:=======:=::=:======:::=======:::::;;;;;;;:==:::::::::;+%XH$%%$$X$%%$X%+/;:;=
-:::=====::::::::::==:===========:::::::==:======::;/+%H#%%%%X$XX%$@@XXXXX%/;=
=;:::::::::::::::::::=================::::::::=:::/%%%X$@$=%$%$@HH$X@HH@X@X%/=
=/;;;;:::::;;;;::::::::=::::====:::::::;;;;;;:::::$X+H@%:,,=XX$X%XM@XH@HM@MX%=
=/;;;;:::::;;;;;;;;;;;:::::::::;;;;;;;;;;//;;;:::+$$X#X-,,,=/XH$X%@M#MH@M#MMH:
=;;;:::;;:;;;;;;;;;///;;;;;;;;;;:::::::::::;/;:=:$X$@M:,...,;+@@%XX###M###MM#;
=:=::::;;;//;;;;;;;::;;;:::;;;:::;;==::=:::::;==HX@HHH-,,,---+$MXHHH#########/
=:=::::;;/;;;;:::::::::::::;;;;;;;;:::==:::::;=:@$HMX/-=;/:-,:HH#HHMM#######M;
=;:;;;;;;;;:::::::::::;:::;///;;;//;;::::::::;:;M@$M$=,---,..-;$H@M@@####@@#H:
=;;;;;;:;:;;;;;;;;;;;;///;;;;;:::;;;;::::::::;::H#XXX=,.......,-::/+;$###MHX$=
-:::;;;;;;;;;;;;;;::;;+//;;;;;::=::::::;;::::;::/M#XX/,,,..,.,,,.,,,=/M#M##@+=
=:::;;;;;;;;;::::=::=:;;;:::;;:::::::::::::;;;;;:+M#$:---,-------,,,=XMM###H/=
=;:::;;:;;;;:::==::;;;:::::::::::=:==:==:::;::===-+@M/,,,,,,,,--,-,,%MM#M#M+/=
-::::::::::======::;;;==:::::::::=:=::====--,,,-..-%XH;,.. ..,==$MMMH%%$-:=
-:::::;::::::::;;:::====::=:::::::::==-,. .,,. ..-:;;=-,....,,-:/XH#$+-=:,.,
-::::::::::::::;;:::==:::::::::::::=,. .,.......,,----,,,---==;/%%:,.... ,
=::;:;:;;;;-=:=:;;;::::::::::;;:=-,. ....,,,----==----=-,-,... ,
=;:;;;;;;;;;;;;;::;:=:::;::===::-. .....,--=::::==--,,.. ,
=/:;;;;;;/;;;:;;:;:;:;;:::::::::, . ..,,----,,,... ,
=;;;:;;;;;;;;:;;:;;/;;/;:::;/;=. .. ,
=:;;::;;:::::::::::;;;;::::;:=, ,
=:::::::::::::::::::;;:;;;;:-. ,
=::;::::;::::::::==:::=;;/;=. ,
-::==:::=::;::::::::::::;:=. ,
-::=:::::::;;;;:::::::====, . ,
-==::::;/;;:;;;;;::::==:=,. . . ,
,.,,--=:::::;;;;;;;;;/;:=. . .. ,
, ....,,--==:::::=,. .. ,
, ....,, , . . ,
, -. .--. ,
, . =:=. ,
, . .-;/=. ,
, .=;/+: ,
, =:/%$: ,
, ;//+/= ,
, /++%/;. ,
, ;%%$++: ,
, .=+$X$%X= ,
, .-:;$X%;. ,
, =$%+, ,
, .. -/%; ,
, =%: ,
, .=,.,
, .. . ,-
, ... ,=.. --
, .....,. . ,
, ...,,... ,
, ........ ,
, . ...,. ,
, ,
, ,
, ,
, . . . . . ,