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