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