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