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