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