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