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