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