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