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