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