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