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