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