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