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