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