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