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