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