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