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