.... .,,. ...
.... ,;%HM@HHX%;-
,,... . .. . .+@######@HM#M;,
.... ...... ........ ..---,-,,.,,-,,.=$#######MX%XM#H/, ..........
... ....,,,,,,,,,,,-;+;+$$;/%%:/%$:;+M#####MH%;-,-+@HX+:/++%///;;;
.......,,,,--===;;//+%%%%%%%%%%$M@/X#M/%@H:+@@:;@####MMM+:,,. .;$XX$XM##MMM@HH
++%%%$$$XHH@@@MMMMMMMMMMMMMM@@MM#M;X##/%@@:+@M:/#####HMMH+:,,==:+$X$X@##MM##MM
MMMMMM#######################M###M/XM#/%@M:+@@:%#####M#M$$%=-%%/+$XXX@########
#################################M+%M#/+@@:/@H+X######@%/XX=.::=:$$XXHM#######
#############################MMM##++M#++H@/+M#M#######X+$HH;,=-,%X$HHH@MM####M
###########################MMM#M##%/@#+/M##MMH++$@####HHMMH/=:/%#@$H@H@@MM##MM
########################MMM@@@@HMH//$$+$##@@@$:,.=X####@@H%=,;H###XHMX%%$XXXXX
MMMMMMMMMMMMMMMMM@@@HHHX$%+//;;:=:=--/H#MM@##H/-. =M####MX%+$M####@@#%-,------
%%%%+++/++++++++///;;;::==------=,,-/M#@@M###@%=, H###MM###########M/.. ...
;;;;;;::::;;;;//+///;::=---=-----=+@###@@#####X;, $###M############X:..
;;;;;//+$XHMM########M@HX%+;::+$X@#####M@####MH/,. +###############M:--,,,....
/+%X@M######################MM###########M##@@@+=. -##############@;;/;;;;==--
#############################################@@$:,..+###M+H######M/.=:/%/;=-..
#############################################@HH+=, .X##+$#######@: ,.,-,.....
##############################################MHX/-. =M#@#######H+=,. ..,==
;;::======::::;;/++%%$$XHHH@@M#################@H$;-..$M#HXX%;-., .,,,,,,-
....,,,--==:::;//+%%$$HHXHH$:,.-;=,, . . ...
............ . . . ...--=, . .... ., .
........ .... .. ... ... .. . . ... . . .
... .... . .... ... ...
.... ... ... ..