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