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