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