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