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