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