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