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