@@@@@@@@@@#$$#$$$$$$$&&$$$$&$$###$$$$$$$$&&&&%%&$######@#@@######@@@@@#$###@@@@@
@@@@@@@@#$$$&&&&&&&&&$$&$$$$$###$$$$$$$&&&&%&&&$#&%&$#$$#@####@@@@@##@####@@@@@@
#####@#$####$$$&&&%%%&&&&&&$$#####$$$#$&&%%&$$&%&&%$$$#@@@@#$#@@@@#@@@###@@#$#@@
@#########$$$&&&$&%&%%%&&&&&$$#$#$###$&&&&&$&&%&$$&&@@@@@@@@#@@@@@@@@@@#####&$##
@@@@#$##$$&$&&$$$###&&&&&&&&&$$$$$$$$&&&&%&&&$$$$$&&#@@@@@@@@@@@##@@##@@########
@####$#$&&$$$$$$$##$&&%&&&&&&&$$$$$$$&&&&&$$$$$###$$#@@@@@@@@@@###@@@#@@#@@@###@
#@#$##$$&&&&&$$$$##$%&&&&&%%%%&&$$&$$$$$$$$$$$####$$#@@@@@@@@@@##@@@#@###@@#####
##$$#$$$&&&%&$&$$$&$&&%%%%%%%%%&&&&&$$$&$&$$$$#####$#@@@@@@@@@@###@@@@@@@#$$##$#
##$#$$$&$$&&&&$##$%#&%%%%&&&%%%%&&&&$&$&&&$$$$#####$#@@@@@@@@@@@#@@@@@@@$$$#####
#$#@##$&$$&$&&###%&##&%%&&&&%%&&&$$$$##$&&&&%%%%%$#$#@@@@@@@@@@@@@@@@@@#$$######
@#$####$&&&$&$$$#=%##$&&%&&&&%&&&&&$###$%%%%%%%&$#$$#@@@@@@@@@@@@@@@@@$$&$$#####
@@@@@@#$&&&&&&&&$=%$##&%%&&&&&&&&&&$#$&%%%%%%&&$$$$$##@@@###@@@@@@@@@#$$$#######
##@@@@@#$$$$$&&&$=%$$#&%%===%%&&&&$$$&%=%%%%%%%&&$&&$##%====%$@@@@@@#$$$###$$$#$
#$#@@@@@@###$#$$$=%$$$&%====%%&&&&$$$%==%%%%&&&&%%&&%%?%===%%%%#@@@#$$##$$$$$#$&
@@@@@@@@@@@@@###$=&&%&%==%%%%%=%&&$#%=====%%&&&&=?=%?+?==%&&&&&%###&&$$##$$$$$&&
@@@@@##@@@@@@@##$?%&=%==%&&&&&&&%%&&%=+?++=%%%%=??===%%&$####$%=##&&$$#$&##$$$&$
@@@@@##@@@@@@@##$=%%=====&&&&&&&&%&%%*!**+%=%&&%==?&##%&$&&$#$$&#&%$$####$##$$##
@@@@@@@@@@@@@###$=&&%%%%%$$$$&%&&%%&&++?==&&&%==%&####&&&&$$#%$&@&$$###$$&$$$$##
@@@@@@@@@@@@@###$%&&$$$$$$$$$$$$&$$$&&%&&$$&&&%&&$@$$%=??$==%%%%@$&$$&%=?=%$$#$$
@@@@@@@@@@@#####$$$&$####$$$$$$$$#$$$#$&&$&&&&%%&$#=????$#=?%#&$$%?=%%?==%=&#$$#
@@@@@@@#########$$$$$$######$$&$##$&$$&%&&&&&%%&&$=??=%#@$%%$##&%%%%&=%=??=%&$$$
@@@@@#@#####@###$$$$$&$######$%&##$&$%&&%&&%?=%=%&&$$$@@#&=%#@@#&%%$%%==%===%&&#
##@@@@########$#$$###$############&&%%%&$%====&%%#@@#&#$$$$&##@#&=?%???=%%%%==%&
##@###@@@##@#####$##########@#@##$&&%%&&$$%%=%%%=&##$###@@#$@##&?????=%%$$$$&%&&
@#@@@#@@@@#@@####&#$$$$#####@@@##&&&&&&&$$$&%%%%%&$$$##$##$#&%=%%%%%&&$$#####$##
@@@#@##@####@@###&#$$$$#####@@@##&%&&&$&&&&%%==%&$$$##&&&=%&==%&&&&$######@#$#@@
#@@@###$$#$#$#$&&=&$#########@@@#&%&&$&&&%=====%&$$#&&?+=??&$&&&$$##@@#@@@@@#@@@
@@###$$$##$&$$%=+?&$##########@#$&%%%&&%%%=%===%$$&==%+?&&%%$#@@@@@@@@@@@@@@@@@@
@@#######$$&&&=%&%$#####$$&$#@@#&&%%%%===%==%%&&$&=$$=+%$#$$$@@@@@@@@@@@@@@@@@@@
@#$#$&&&&##$&&%$$&$#$$$#$&&&$@@$$%??===%&$&%%%&=*!+$@&=&#@@@#@@@@@@@###@@@@@@@@@
#$$$$$&&$###&&&$&$$###$$$$$$$##$&%&%===%&$&==+!!!+=%@#$$#@@@##@#$$####@@@@@@@@@#
#&&&&$$$##$&%&$&$$&$#$$&%&&$$$#&&$&&%=??=%=*!;!!*=&###$&%$$$$###&$$$##@@@@@@@@##
$#$?=&?=$$&??$%%#&?$&?&?&%?$&?$&$$%&=?*!??!++!?*=&##=+%??#&=&&?#&&$?#$=##%$@%###
###%%$==$$$%%#$%#$%$$%$%$&%$$%$$&&%???++=?!+?=%=$##&%%&==#$%$$&#&##%@#&#@&#@%#@@
@@#$###$$#$$######$$$$$$$####@#&&%?+???===++%%&&$%$%%&&&$###&&#$$@@@@@@@@@@@@@##
########@#######$$$$$$$#####@##$&%=?????=??=$&$##&&%&&&&$##$%##$#@@@@@@@@@@@@@##
###$@##@@##$####$$$&&$$$#@@@@#$&&%%====?=?&$$#@##$$$&&&&$$#$#@@#@@@@@@@@@@@@@@##
$&$@@#@@######@@##$$&&&$$#@@##$&$&%%=??=%%####$#$&&#$$$&$$##@@@@@@@@@@@@@@@@@@@#
&%%###@@@##@@@@@#$$$#$$$$#####$&%%??++?=%$#$&=%&&$##$$&&$$#@@@#@@@@#@@@@@@@@@@@#
##$&&#@@@#@##@@@@#$####$$$####&%???????=%@$#$&$$$&&$$#$$$$#@@#&$@@@#@@@@@##@@@@@
$$&&&$#####@@@@@##$##@#&&&$#$&%=?????+?=%######$%???&@@#$$#@@##$$#@@@@@@###@@@@@
&&&$$&$$#@@##@#@##$#@@#$$###$%=??+???===$###@@##&%???&#####@#$###$#@@#@@###@@@@@
#$&&$&&$#@@#@@#@@@#@@@##$$$$$%??++=??===##$$@#@@#&&=?=$#@@#@##$$#$$@#$#@##@@@@@#
$$##$$$@@@@@@###@@@@@@@##$$$&%=?==%==&$#####$@@@@#&%&&#@@@@##$%==%%&&$#@@@@@##@#
&&$$#$#@#@@###@@@@@@@@@@@##$&%%%%%&&%%&$$%%%#@@@@#$&##@@@@@#$%&&%%%%&&&$$##@@@@@
$$$$&$@$&@@@@#@@@@@@@@@@#$##$&&&&%%=&&$$&&$$#@@@#@@@@@@@@@##$$&&&&&&&$$$$$$$$###
$###$$##&@@@@@@@@@@@@@@@$$$#$$$&&==%&%&$&##$&#@@#@@@@@@@@###$$&&&&&&$###$##$$$$#
######$##@@@@@@@@@@@@@@@#$&&&$$&%===%&%&&==$#@@@@@@@@@@@@####$$$$$##############
####$##$&@@@#######$$$$&%%%%&&&$====%%??&===#@@@@@@@@@@@#$$#@#####@@@@@@@#######
##@@##$&$@#$&$$$$$$$$$$&&%%%&&&$&%%%?++=%&=%#@#@#@@@@@@##$$@@@@@@@@@@@@@@@@@#@@#
@@@@$##$#@######@@@@#@###$&%&$$$#$&%==?%&$$#@@#@@@@#$$$##$$#@@@@@@@@@@@@@@@@@@@@
@@@@####@@@@@###@@@@@@@#&&$$$$###$%$$$&$##@@@#@@@#$$&&&%&##@@@@@@#@@@@@@@@@@@@@@
@@@@@###@@@@@@##@@@@@@@$&$$&&$##$&&###$##@@@###@@###$$&&%$#@@@@@@@@@@@@@@@@@@@@@
@@@$$#$#@@@@@####@@@@@@$&$$%=%#@#&$@@###@@@#@@@@##$&&$$$$$$#@@@@@@@@@@@@@@@@@@@@
##&%%&#@##@#####@@@@@@#####$$$##$&&#@@@@@@@$##@@@@@@####$$$$@@@@@@@@@@@@@@@@@@@@
@&&&&&##@##########@#####$&$####$&%&$#####$&$#$##@@########@@@@@@@@@@@@@@@@@@@@@
@&&&$#@@#@##$#$###$#&&&%&=&%&##@@#$&$$$$###@@$$#$#@@#########@@@###@#@@@@@###@@@
@@##@@@#&$#@#@@@@#%&=&%%%?&$&$#@@#$$&&&&##@@##@##@@@@@@@@@@#@#$&&&&$####$$####@@
@@@@@@@#$&##@@##$%$&&&$&%?$$$&&$&&$&&&=%&&&$$&$$$##@@@#@@##$%&%&&&$$$$$&$$$###@@
##$#$$&%%=&$&$$&%&##$$&&=?$%$&%$$&$$$#$&%$$%&&&&%&&$$$#@@#&=&$&$&$&$$$$####$$#@@
$%==&%&&&&%%=%&&&#$$$##$=?&?%&==%%&&$&$&&$$&&$&&&&&&$$$$@#&&$&&&&$$$$$$$##$###@@
#$$$&=&$%====%%&$#$&&$$&?*%=%&&%%$$%%===%%&$$$&%%&#$$$####&&&&&&&&&$$###$$####@@
$&&$%=%%%%%%%%%%%%%%%&%&+?%$$$$&&&&&&&%%%%##$$#%&$$##$#$#@$&$#$####$$&&&&$###@$#
$$%&&&&%%%%%%%&%&&&&&&$&?%$#@@@##@@#&$&%%&@#####$$%&$$#&$#@#$$$$$##$#$&&%%&&##$&
=$%&%&$&&&$&$$$$$$$$$$$%&&$####$$#@$$$$&?&$##$$&&$$&&&#$&$$###$$$$####@#$&&%%&$&
$#$$$&$##########@@@#@@$&$##&&$##@@@##$!**$$%%&%&&&%%=&$#####$&&&##@@#$$##$&&&&$