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