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