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