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