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