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