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