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