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