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