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