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