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