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