##########@@@###@@@##@@#&###############@####@###@@@##@##@######################
#######@@@@@@@##@@@@@@@##@@###@@@###@#@####$$###@###@#@@#####$##################
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@##@#####%=#######@@#######$#@##@@############
@@@@@@@@@@@@@#@@@@@@@@@#@@@@@@@@@###@@####$%)$####################@###@#########
@###@###@@@@##@@@@######@##@#@@##########$%%)>$#################################
#####@####@###@##@@######################&%%>*?$$$###############$&#############
@#############@$$@#@#@@@##############$#&%%%?+*?$$$$$$#$&$$####$################
##########@#@########$###############$#&%%%%=>);?$$$$$##$$$$#$$$$###############
################################$#$$$$&%&%%%==)*:>$$$$$$$$$$$$$$$$$$############
############################$$$$$$$$$$%&&%%&%=>+!;?$$$$$$$$$$$$$$$$$$###########
###############$#########$$$$$$$$$$$$%&&&%%&&==?)!!%&&&$$$$$$$$$$&$$$$$#########
###########################$%&$$$$$$&&&%$&&&&%&=>))*&&&&$&$$&&$%&&&&$$$$$$######
########$%#######$$####$$$$$$$$$$$$&&&$&#&$&$$$&=??)>&&&&&&&&&&%&&&&&&$$$$$$$$##
####$####$####&##$$#$$$$$$$$$$$$$$$&$$$$#$#$$#$$$&%>*&&&&&&&&&&&&&&&&&&&&&&&&&$$
######$$$$$$$$$#$$$$$$$$$$$&$$$$&&&&############$#$=+%&&&&&&&&&&&&&&&&&&&&&&&&&&
#$$$$$$$$$$$$$$$$$$$&&&&$$$&&&&&&&&&##$?)>#@##%+!=#$=%&&&&&&&&&&&&&&&&&&&&&&&&&&
$$$$$$$$$$$$$$$&&$$&&&&&&&&&&&&&&&&&$#%>++&@@#>>+>##=&&&&&&&&&&&&&&&&&&&&&&&&&&&
$$$$$$$$&&&&&&&&&&&&&&&&&&&&&&&&&&&&##&>>>$@@@=>>%#$%%&&&&&&&&&&&&&&&&&&&&&&&&&&
$$$$$$$$&&&&&&&&&&&&&&&&&&&&&&&&&&%&&##$&$@@#@@$#@#%%%%&&&&&&&&&&&&&&&&&&&&&&&&&
$$$$&$$&&&&&&&&&&&&&&&&&&&&&&&&&&&%%%&#@@##@@@@@@#%%%%%%%&&&&&&&&&%&&&&&&&%%%%%%
$$$&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&%%%&%&@@@@@@@@@#?+%%%%%%%%%%%%%%%%%&&%&&&%%%%%=
$$&&&&&&&&&&&&&&&&&&&&&&%%%%%&&&%%%%&%$@@@@@@@@#%==>%%%%%%%%%%%%%%%%%%%%%%%%%%%%
&&&&&&&&=&&&&&&&&&&&&&%%%%%%%&%%%%%%%@@@@@@@@@@@@&>!!?%%%%%%%%%%%%%%%%%%%%%%%%%%
&&&&&&&&&&&&&&&&&&%%%%%%%%%%%%%%%%%=&#@@@@@#@@###$&=?!>%%%%%%%%%%%%%%%%%%%%%%%%%
&&&&&&%%%%%%%%%&%%%%%%%%%%%%%%%%%%%&#@##@@@#@#@####$$=*?%%%%%%%%%%%%%%%%%%%%%%%%
&%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&##@@##@@@@@@#######=*=%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#@@@@@@@@@@@@@@@#@@##=)======%%========%%%%%=%
%%%%%%%%%%%=%%%%%%%%%%%%%%%%%%%%%&@@@@@@##@@@@@@@@@@@@#$?+=============%====%==&
==%%%%%%%%%=%%%%%%%%%%%%%=%%%=%%%#@@@@@@@@@@@@@@@@@@@@@#$=)?=============%=%%==%
%=%%===%%%%%%%%%%%%%%==========%#@@@@@@@@@@@@@@@@##@@$#@@#%?>===========%=====&$
%%%==%?=%===%%%%==%============$@@@##@@@@@@@@@@@#@@@&==#@@#$%>)>==============&#
%%%%%========================&#@@@#=%@@@@@@@@@@@@@@@%>?=#@@@#&=++>?=======??==%$
#$&%%====??================&##@@@@=??@@@@@@@@@@@@@@@%????$@@#@##%>)>??====?==%##
@#%=====?==?============?=$#@@@@@=>>=@@@@@@@@@@@@@@#=)>>>?%$#@####$=?????===%&$#
@#$%========?=========??%##@@@@$?>>?#@@@@@@@@@@@@##$>**?>>>>?%$$##@###$&=>?===&#
@##%===?==??========??=&##@@@$=>>>>&@@@@#@@@@@@@##$#=):+>>>>>>>>?=%#@@#@&=%==$##
@$%====??=???????=???%##@@#&=>>>>>?@@@@@##@@#@@###$$&>;!>>>>>>>>>>>?#@@$$=?=%&#@
@@@#=??????????????%#@@#&=>>>>>>>>&@@@@###@###@##$$%&?)!+>>>>>>>>>>>&#&$==%=&$#@
@@#%==???===?????%$#@@$?>>>>>>>>>?#@@@@###@#######$%&=?))>>>>>>>>>>>=$?=&==&&###
@@#$??%=???????%$$####?>>>>>>>>>>&@@@@##@#@######$&&&%=>>)>>>>>>>>>>?&=&&&%#####
#@@#&=&%?????=&=%$%=#&>>>>>>>>>>?#@@####@######$$$&&&=&??+>>>>>>>?>?=&=##&$#####
#@#$%=$&?????&==$?>=$?>>>>>>>>>>%@@#####@######$$$$&%=%=??+>>>>>>??%$%%$#$#####$
@####&##&???%?=$?>>$?>>>>>>>>>>>#@@#####@###$$#$$$$&&%%&?=>>>>>>>%?&#%&######$%>
@#@#$####&??=>&?>>>&>>>>>>>>>>>=@@#########$$$$$$&&&&&%&==%)>>>=?&%$#$$######&>*
@@@#@@@@@&>?>?%>>>>%>>>>>>>++>>$@########$#$$$$$$&&&&$%&&=&++>?%%&$####$$$$$&=+*
#@@@@@@@@#=?>=>>>>>?>>>>>+++>>?###$######$#&$&$$$&&&&$&&&=&%!>%%%$$$$$$$$$$%?++*
@@@@@@@###&$?>>>>>>>>>>>++++++%##$$$####$$$$$&$$$&&&$&&&$&%$*+=%&%?>>?&$$&&%+***
@@@@@@@#####%>=>>>>>>>>>>++++>$#$$#$####$$$$$&&$$&&$$%&&$$=$=*?=>+)))+?&%==>)***
@@@########$%?$=>>>>>>>>>=>>+?#$$$#$###$$$$$$&&&&&$&$%&&&$&&&))+)!!**))+?>)*))*)
@@@@##$$###$%&$&>>>>>=>>?&?>+%#$$$#$$$#&$$&$&%&$%$$&&&&&$$$%&=!*!;;;!!;;*)**)))+
############&%%?)++>=%>>=%>+>$#$$$#$$$$&#$$$&%&$%$#&&$%&$#$&%=!;;;;;;;;!:**)**>>
#######$$=%#$%>)!!*>%%?)+?++>##$$##$$$$&#&$$$%&$&$$$&$%$&$&=>+!:;;!::;!;!*)+*>>?
$&&$$##$=>>%%?+)*!!**))***!!?##$$#$#$$$&#&$$$%$&$$&$&$&$&%=>+)!;;*;:;***)+)+???>
?+>=$&%=>+>>>+>)))*!!!!!*!!;&$#$##$$$$$&$&$&$=$&$$&&&&&%%?>+*!*)!!;**+*+??+%%?==
)))>%%>>+)++++>++))!!!;;;;:!$$$$$$$$$$$&$%&%&%&%%&%?=%%?>>++)*)++!))>>>===&&%&%$
))))++)++++++>>?>>)!;!;;:!;)&$&$$$&&&&&%&%==%%&=?=?>>>>?++>+>>>+?>?%?%%%=$##$$&$
++)++)))>++++??>?>+!;;*;;;+>=%%&%&&%%&&%&%%==?%?>>>++??+>)>??=??=%=&$&&&$####&&$
>>>>=>+++>+)>==>+?+);+)))))%??=%%%&=&&%%%&&$====>>=>>=???+>??%=%&&&$#$$####$#&$%
>>>>==?>+?>+>%=?+=??>?%%??=>&%%%%&$%&&$=%&&&$=%&?>=%%%%====%=%%&&$$$######$$&&&&
=????%?%??=?%%&&=?%%&%&$$%%&%$&$&&$&&&&%&&$&$$%&%%=%&%%&%&&&=%&&$#$####$#$$%&###
%%%===&%&%&&%&=$%$&&$%%$#$%&&$$&$$#$&$$$$$$%$#&&$$$%%%%&&#$&&$&###$###$#$$$&###$
%%&&%%&&$&&$&$$%&$$$#$%$##$%$$#$$###$$#$$#$$$####$&$&&$$###$$&$##$#@#$$$$$####$$
%&&$$$$$$$$##$$$$###$##$###$$$############$##$#####$$##$##&$$##$$###$$$$$###$$$&
&$$$######$##################################$#####$##$$#$$#$$$#####$$$$#$$&&&%&
>=%&&&%%&&=&&%&&&$$&=?%&$$$$$$&&&&%%&&&&&$&%%&&&%%&%&&%=%%%=%=&&%&%====%=>>>>+>=
^^~~^,..,,,^,,,^^^^^,,^~~~~~~~^~^^^^^^^^^^^^^^^,,,,^^^,^^^^,,,^,,^,,,,,,,.......