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