@@@@#@@#################$$$$$$#$$$$$$$$$$#$$$$$&&&&&&&&&&&&&&&&&&&&&&$$$$$$$##$$
@@@#####################$$$$$$#$$$$&&$$$$$$$$$&&&&&&&&&&&&&&&&&&&&&&&$&&&$$$$#$$
@@#######################$$$$$$$$$$&&$$$$$$$$&&&&&&&&&&&&&&&&&&&&&&&&$&&&&$$$$$$
@@#################$#####$$$$$$$$$$$$&&&$$$$$$&&&&&&&%&&&&&&%%&&&&&&&&&&&&$$$$#$
@@@@###############$#####$$$$$$$$$$&&&&$$$$$$$$$$$$$$&&&%%&&&%&&&&%&&&&&&&&$$$$$
@##############$###$$#$$$$$$$$$&&$$&&=>))+=%&&$&$$$$#@#$&%&&%%&&%%%%&&&&&&&$$$$$
@#############$$##$$$$$$$$$$$$$&&&%!^......^;?&&$$$$###$$%&&%%&&%%%%&&&&&&&&$$$$
@#############$###$$$$$$$$$&&&&&%),'..........-?$$$$$#####&&&%%%%%%%&&&&&&&&$$$$
############$$$#$$#$$$$$&$$&$&$&:,;*)+>+*;~,...,)$$$$##@###&&&&%%%%%&&%%%&&&$$&&
#################$#$$$$$&$&&&&$!*&%?)=%=??=?*~,,,!$####@@##$%&%%%%%%%%%%%%&&$$&&
#############$##$$$$$$$$&&&&&$>=@&=)>%=?=%&$#$)^^^*####@@@##$%%%%%%%%%%%%%&&$$&&
###############$$$$$&$&&&&&&&$&@#=>*?%===&$#@@@&;~~>##@@@@###&%%%==%%%%%%%%&$&&&
##########$#$$$#$$$&&$&&&&&&$$@#%>*;)+>??&##@@@@#)-:$@@@@@@###=%====%%%%%%%&&&&&
#######$$$$$#$$$$$&&&&&&&&&&$##=+*:---:!)=$##@@@@#+;+@@@@@@#@#&%%===%%%%%%&&&&%&
######$$$$$$#$$$$$&&&&&&&&&&##=*;:--~^^^-!=$##@@@@@>*$@@@@@@@#$%%%%%%%%%%%%&&&%%
#####$$$$$$$$$$$$&&&&&&&&&&&#$+;::-~~^^^~-*?&$$#@@@#+%@@@@@@@##&&&&&&&%&%%%&&&%%
#####$$$$$$$$$$$$&&&&&&&&&&$#%*;::--~~~~~-;)>%&&#@@@$?@@@@@@@##$&%&&&&&&%%%%&&%%
#####$$$$$$$$$$$$&&&&&&&&%&##=*!;::---~~--;!)+?&&$@@@%#@@@@@@###&&&&%&&&%%%%&&%%
#####$$$$$$$$$$$&&&&&&%%%%&##?*;;::::--~~-:;*)>?&&#@@#&@@@@@@##@&&&&%%&%%%%%&&%%
#####$$$$$$$$$$$&&&&&%%%%%$#@?)!;:::::::!)>%&$$&&$&#@@$@@@@@@##@$%&&%%%%%%%%&&&%
#####$$$$$$$$$$$&&&&&%%%%&##@#&?+*!;;!+=&$##&==%$#$&#@@#@@@@@##@#%%%%%%%%%%&&&&&
#####$$$$$&&&&&&&&&&&%%%%$#@#&$#$&>)*+%$###$&$$&$$$%&@@@@@@@@##@@%%%%=%%=%%&&&&&
####$$$$&&&&&&&&&&&&&%%%%##@@$$###&?)+%$$$&&&###$&&%%$@@@@@@@###@$========%&&%&&
###$$$&&&&&&&&&&&&&&&%%%$##@@##%&#$%**=&%&>+%&$&=?=&%$##@@@@@###@#%=======%&&&&&
##$$$$$$&&&&&&&&&&%&&&&%###@@#&????>!:>>)+??=&&?++?&&$#$#$@@@###@@&%=====%%&&&&&
###$$$$$&&&&&&&&&%%%&&&&##@@@#%&%?)*;;)*:;*)+)**)+?&###$=&#@@@##@@$=======%%&%&%
###$$$$$$&&&&&&%%%%%&&&###@@@#>+)*!);!+);-;!!;!*>?%$@##&%&@@@@##@@@%==??==%%&%&&
####$$$$$&&&&&%%%%%%%%&###@@@#>))*!):!++!;;!**+>?%$####$#@@@@@##@@@&==?====%%%&%
####$$&$&&&&&&%%%&&&&%$###@@@@=>)*!!:!++)!!*)+>=%$#@##@@@@@@@@##@@@$=======%%%&%
###$$$$$&&&&&&%%%&&&&&####@@@@$?+*!*!>?++!*)+>=%$###$#@@@@@@@@###@@@=======%%%&&
###$$$$$$&&&&%%%%%&&&$###@@@@@@&?*!?%$$&>:!)>?%$###$$#@@@@@@@@###@@@%%=====%%%%%
###$$$$$$&&&%%%%%%%&&####@@@@@@@%+!*=%?+:-;)>=&##$$&$@@@@@@@@@###@@@$%%====%%&%%
###$$$$$$&&&%%%%%%%%&###@@@@@@@@#?****!;;!*+?&$#$&&&#@@@@@@@@@###@@@#%%====%%&&%
##$$$$$$$&&&%%%%%%%%####@@@@@@@@@&=%=%%=?>>=%&$$&%&$@@@@@@@@@@###@@@@&%====%%%&%
$#$$$$$$$&&&%%%%%%%&####@@@@@@@@#$=?%###$$%%&&&&%&$#@@@@@@@@@@####@@@$=====%%%%%
$$$$$$$$$&&&%%%%%%%$####@@@@@#&=??=&$&=+>=%%%&&%&$#@@@@@@@@@@@@###@@@#%====%%%%%
$$$$$$$$$&&&%%%%%%&####@@@#%?>?=&$$##>+>&$%=%&&$$#@@@#@@@@@@@@@###@@@@%====%%%%%
$$$$$$$$$&&&&%%%%%$@###$%?>?%%$####$$$$$$=?=%&$$#@@@##@@@@@@@@@###@@@@&====%%%%%
$$$$$$$$$&&&&&&%%&##$=?>?=&$####@@@@$&=?>?=&&$##@@###$##@@@@@@@###@@@@$%=%%%%%%&
$$$$$$$$$&&&&&&&%%?*?==&$####@@@@@@@#%==%%&&$##@@##$$$$&@@@@@@@###@@@@@%%%%%%%%&
$$$$$$$$&&&&$&&&%?>)>#####@@@@@@@@@@#)>?%$####@@@#&%=?=&@@@@@@@###@@@@@&%%%%%%%%
$$$$$$$&&&&&$&&&&%=&$##@@@@@@@@@@@@@=*)>?%$###$&%????==&@@@@@@@###@@@@@$%%%%%%%%
$$$$$$$$&&&&&&&%#####@@@@@@@@@@@@@@@)!*)>=%&&&%=???>>??%#@#@@@@###@@@@@#%%%%%%%%
$$$$$$$$&&&&&&&$@###@@@@@@@@@@@@@@@=!!*)+>?=%=??>>>>>>?=#@#@@@@###@@@@@@&&&%%%%&
$$$$$$$$&&&&&&&#@##@@@@@@@@@@@@@#%*;;;!*)+>>?>>>>>>>>>?=$@##@@@@##@@@@@@$&&&&&&&
$$$$$$$$&&&&&&&@@##@@@@@@@@@@$%+!:--:;!!*))+++++++++>>>?%#@##@@###@@@@@@#&&&&&&&
$$&$$$$$&&&&&&#@#@@@@@@@#&=>*;::-----:;!!**))))++++++++))>&@##@@##@@@@@@@&&&&&&&
$$$$$$$&&&&&&&@@@@@@@@@+*!;:----------::;;!!***)))****!;:+*?###@##@@@@@@@$&&&&&&
$$$$$$$&&&&&&#@@@@@@@@@!---------------:::!))*!*!!!;!;:::**!+%#@###@@@@@@#&&&&&&
$$$$$$$$&&&&&@@@#@@@@@#)~--------------:::!!;:::;;:::----!;:*!+&###@@@@@@@&&&&&&
$$$$$$$$&&&&$@@########=~-----~----------:!;---:;:---~---;--;:!!+&##@@@@@@$&&&&&
$$$$$$$$&&&$@@##########:~~~~~~---~~-----:;:-~-::---~~-~~:----:;!;*$@@@@@@#&&&&&
$$$$$$$$&&&$@@#######@##=~~~~~~--~~~---~-::-~~-::-~~~~-~~--~-:--:-;#@@@@@@#&&&&&
$$$$$$$$&&&#@########@###+^~~~--~~~~---~-:-~~~-::-~~~~~-~---:--~~-&@@@@@@@@$$&&$
$$$$$$$$&&$@@##@#####@####)^~~-~~~~---~~-:-~~~-:-~~~~~~--~----~^^=#@@@@@@@@#$&$&
$$$$$$$$$$$#####@#@##@#####)^~~~~~~--~~---~~~~-:-~~~~~~---~--~^~%###@@@@@@@@$$$$
$$$$$$$$$$$@#@@#@@#@#@######?-^~~~~--~~---~^~~---~~~~~~---~~~^!&#######@@@@@$$$$
$$$$$$$$$$$@@#@@@@@@#@#######&*^^~--~~~--~~^~~---~^~~~~~-~~^!%##########@@@@#$$$
$$$$$$$$$$#@@#@@@@@@#@#########%*~~~^~--~~^~~~--~~^~~~~^^-)&########@@##@@@@@$$$
$$$$$$$$$$#@@@@@@@@@@@###########$?!~^~~~^^^~~--~^^~^^-*=######@####@###@@@@#$$$
$$$$$$$$$$@@@@@@@@@@@@##############$%>*;-~~~~----;)?&########@###@@@@#@@@@#$$$$
$$$$$$$$$#@@@@@@@@@@@@################@@@##$$$$###############@###@@@#@@@@@@$$$$
$$$$$$$$$@@@@@@@#@@@@@#################@####################@@@##@@@@@@@@@@@$$$$
$$$$$$$$$@@@@#@@@@@@@@#####################################@@@##@@@@@@@@@@@@$$$$
$$$$$$$$#@@@@@@@@@@@@@#####################################@@##@@@@@@@@@@@@@$$$$
$$$$$$$$@@@@@@@@@@@@@@####################################@@@#@@@@@@@@@@@@@@$$$#