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