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