##############################################################################
###############################@X@############################################
#########################MH$+;=-,,=/$@M#######################################
#####################@$/=,.....,,,,..,=/$@M###################################
#####################MM@X%+;-,,.,,,,,,..,,,=;$M###############################
#######################H:=-,,..,....,,,,,,,,,.;H##############################
###########M@@@H@M######MH$%%%$X/,....,..,..,,,-/X############################
############M@X%++%$$XXH@M#######M+............,,-;%@#########################
#############M@X/=,,,,,---=;+$H@###/..............,,-/X#######################
##############M@%:,,....... ...,-:/%:,................,=+H####################
###############M$=,............. ,,-..................,:X##################
###############M$-,........... .--.....,............... ...,/@@@##############
################$-............-;;,..... ....... ...... . ,=//;::%X@###########
################$,...........,+$-..../+-.............. ,,... .,,-/H#########
################X,...........-X%,.../##%,........... . ,. . ...,:$M######
##############M#H,...........=X%,,.=M##H- ... .,,.. ,=. ....,-/H####
##############M#H-.,.........=$/,,,%M$H+........ .,-=:.-. .. .=%@#
############M#MMH=...........-/:,,=%/;;........ . ..,:.;; ....,;
##########MMMM#@X=...........,-,.,.=+:........... .. ;@%-. . . .
##########MM@MM@X=,.................,........... .... -///=. . ..
##########MM@MM@X;,,................. ................ .,-/%- . ..
###########M@@M@X/-,...... ..................... ..... ,,,.=;+: . ...
###########M@@@@H%:,................................. .$/... .XX. . . . .
############M@@HH$;-......,.....................,.... :H/-... -M@= .. ...
#############M@HHX%:,..-;;- ,:=................,....+M+;/-....%##/. .... ...
##############M@HH$/:=+X+-.,$@#$.............,--,.. :#+-/$=....+###H= .... ...
###############MHXX%%M@;. =HMHM;,......,,...,:;,. .:X$=:$/....-H#####+ ... ..
################@XXXX$:..:@M;+/-,......,,,..,,...,X@;-:+;....-X#######X- .....
#################@HH%:--;@##H%-,...........,....,%X:--=,.. .:@#########@: ....
##################MMX+%%$XX$/=-,.........,...,..--,... .,=/XM############%...,
####################@XXHH$;=,...........,........ ..-:/%H#################H-..
#####################@XH##MH%+/:=--,,,,.....,,,-:;%X@######################@:.
######################MH@M######M@HHXX$$XXXXHH@M#############################+
#######################MHHM###################################################
#######MMMM############MMHH@@@H@@@MMM#########################################