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