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