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