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