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