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