@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@$$$#%%&#@@%#&%#$&@@#%&@@@$$$@$%#@@#@##&#@#&&#$&&#@=&$@#&#$$$@@=#@&#@#%&#@@@@
@@@@$=$@=#=$%&&@$&@%&#&%###@@$=#$%&&@#%@%$?$$$=#=#%#@#%$=#=##&=#@&=#@?#&#=$=@@@@
@@@@@%@@=%$@%%@@&$@=%%%&$?$@@#%@%#&$@$&@%$%%%$&@=#=&#$&=@@&%@$&@$=%%$%%=#&@=@@@@
@@@@#%@#%$%#&$@@%$#%#=$%%=@@@$&@%%%@@$%&%$&$=&&&&$%$$%$&&@#=@&$@=&$%&$$=&&%$@@@@
@@@@@$@$$@@@&$@$&$#&@#@@#%@@@##@#$@@@@$$@$$@#$##@#&&@&#@##&#@$#@=@@#$#@#$#@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@#@#####@#@#####@@@####@#@@@@@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
%%=?=%=??=?????=?+++?===++++=?%%==%%%=%%=%%&$$$$$$$$$$$$$$$$$$$$$$$$#$$$$$$$$$$$
%=?=%=?????+=?=+??+++?=??++++?%====%%=%%==%=$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
=======????????+??+++???++**+?=???=%========$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
%===%%==????+????++++++??++*+?=???==%===%==%&$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
%=%%=%=?=??????=??+++++=??+*+?=?=??========%%$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
%====%===????+=++?+++++?=?+*++?==??=====%====&$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$&
%%===%====?++??+??++++*+=+?+*++==???===?=====&$&&&$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
&%=====%===?++?????+?+**?+??+++?==??===??==%%%=???=%&$$$$$$$$$$$$$$$$$$$$$$$$$$$
%%=====%=?==++???????+++++??+*+==???===?===%%???????=&$$$$$$$$$$$$$$$$$$$$$$$$&$
%%==========?++++??=?++**?+?+*++??=??======%%==???????%$&$$$$$$$$$$$$$$$$$$$$&&&
%%%%==??==%==?+++??%=++**++??**++==??==%==%==%%=???????%$$$&&$$$$$$$$$$$$$$$$&&&
%%%%==???===?=++?++==??***+??*+++===??=%========%====??=$&&&&$$$$$$$&&&$$$$$$$&&
%%=%==???==%%=++??+====?**+=+++++===??=%==%&&%???%%%==?=$&&&&&$$$$&&&&&&&&&&$&&&
%%%=%==???=%==?+?????%=?+*++???*++????=%==&%=%??=?====%&&&&&&&&&&&&&&&&&&&&&&&&&
%%%=%%==???%?==????===???+++???+++?==?====%??=??=??=??=%&&&&&&&&&&&&&%&&&&&&&&&&
%%=%%==%=???====???=?%???+++?=??++?=?======??=??=???=??=$&&&&&&&&&&%%%&&&&&&&&&&
%==%%=%%????%%====??=????++++?+?++?==?==%===?=??=???????&&&&&&&&&&%%%%&&&&&&&&&&
%%===%%===???===%?????????++++?==+???===%=====??=???????%&&&&&&&&&%%%%%&&&&&&&&&
%%%==%%=%%=???==%?=??????=?+++?=?????======%&??=????????=&&&&&&&&%%%%%%&&&&&&&&&
&%%==%%%%%%=???===%?=?=??=+++++??=??=%=====%&??=?????????==%&&&&&%%%%%%%&&&&&&&&
&%%%===%=%%==??=?===???=???+++++?==?=====%%=%?=====?======?=&&%%%%%==%%%%&&&&&&&
%%%%%%==%%%===???=%=???==????++?===??=======%%=??????==???===%%%%%%===%%%&&&&&&&
%&&%%%%%=%=%%%==?====???=??==++??===??%======??=====%$&%%%??==%%%%%====%%%&&&&&&
%&&&%%%%%%==%%=???==%=?+????=?+++==%==?+?????===?=&%&%=*+$?$=%%%%%%====%%%%%%&&&
%&&&%%%%%%==%%==???=%????=??$#?+??=%=&&??=?????%$=%?=?=*+#%=$%%%%%%=====%%%%%%%&
%%%&%&&%%%==%%=%==?====???=&@&$%%%$&&&++$&%===?$$+%&?+%*+$&==$%%%%=======%%%%%%%
%%%%&&&&%%%%=%%%%==???===?%@#+&&&==&%+?&$$#=+*!$$+&$=*%++$?$?=%%%%========%%%%%%
%%%%&&&&%&%%%%%%%%==??%==?$@@=?#$&%++???=$$*!!!$&+$=%*=++$+=$+%%%==========%%%%%
&%%%%&&&%&&%%%%%%%==??====@#=$%?%&%%?+?==%$*!!*#$?$?&*?=+$?*$+=%=============%%%
&%%%%%&%&&%&%%%%&%%%?====&@#&=??%&%%&$?+==$+++*##?%+%**+*%&*&+?==============%%%
&&&&&%%%%&&&%%%%%%%%======&#%%$#$$&%$?*+&=$+***##?=*%?*%++$+&+?===============%%
&&&&&&%%&&&%%&%%%%%%%%==&$$$@#&%??&&%*+&=%%!!!*#@?%+&=*&=*%=$*+===?=======?=====
&&&&&&&%%%%&&&&&&%%%%%%%&@@#&&$###&&%%+?=$+!!!*##=%?$%*$&*?&$*+%===?????????====
&&&&&&&&&%%&&&&&&&&%%%&&%##@#&?+=??&&%&#$%!!!!*#@=%+$&+$%?*&$*+&=????????????===
&&&&&&&&&&%%&&&&&&&&%&&&%%%%@@&%%$&=&%&&#+!!!!*##=?+&=+$?&+?#*+$=?????????????==
&&&&&&&&&&&%%&&&&&&&&&&%%&%%#@@&=+=#&&%#$*!!!!*##???&=?$*&?*+*+&=??????????????=
&&&&&&&&&&&&%&&&&&&&&&&%&&%%%$#&&&#&&&%%&+*+?=%##?+%=$+&??&+=++$?????????++?+??=
&&&&&&&&&&&&&&&%&&&&&&&&&&%%%%%$##%&&$&%&&%&&&&##?*&+$=+&?&+=?+&+=??????++++++??
&&&&&&&&&&$&&&&&&&&&&&&&&&%&%%%%$$$&$$$&&&&&&&&#@?*&+=$*%&%*=?***??????++++??==?
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&%%%%&#@%%%%&&$&&&&#@&+?%+$?+&+*++*?=???????+?=&&&&%
&&&&&&&&&&&&&&$&&&&&%%&$&&&&&%%%%&&$%=$#$&&&&&&#@$?*&+=&?%**??*=&+=???+??=&&&&%%
&&&&&&&&&&&&&&&&&$&$=%$$$$$&&&&&&&&$&#@#&&&&&&&$@$%*=??&+?**?=*=#?=??++?=%&&&&%%
&&&&&&&&&&&&&&&&&$&$&$##$$$%+?&$&&&&&&@#&&&&&&&$@$&++&%%*?**?%*=#&?????=%&$&&&%%
$&&&&&&&&&&&&&&&&&&&&&&&$$#&%%$$$$$&%&#$&&&&&&&&@#&?*=$?+%**?=*=%#=?+??%$$&&&&&&
$$$$&&$&&&&&&&&&&&&&&&&&&&&$$$$##$#&%=$&&&&&&&&&@#=%*+$+*+**==*%?&???==&$&&&&&&&
$$$$$&$&&&&&&$$&&&&&&&&&&&&&&&&&&$$#$&$&&&&&&&&&#@=&*+&**+**=?*&+???===&&&&&&&&&
$$$$$$$&&&&&&$$$&$&&&&&&&&&&&&&&&&&#$#$&&&&&&&&&$@%==??*+&**%?*$++??==%&&&&&&&&&
$$$$&$&$$$&&&&$$$$$&&&&&&&&&&&&&&&$#$$&%&&$$##@@@#$+&?+*+$**?+*$*+??=%&&&&&&&&&&
$$$&&&&&&&%%%&&&&$$$$$&&$$&&&&&&&&$#$$$#@@@@@@@@@##+%$?*+$+*%=*&+?==%&&&&&&&&&&&
&&&%&&&&&&&&&&&&&$$$$$$$$$$$&&&&$$$#$$#@@@@@@@@@@@@=+#?*+$**&%*%=?=%&&&&&&&&&&&&
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#$@#$#@$$@#$########@@##@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@#%@@@@#@@@@@#@@##@@@@@@@$#@@@@@@@$#@@@@@@@@#@@$@@@$@@@@#@@@@@@@@@@@@
@@@@@@@@@@@@$&#&$%=$&&$#&@@?&=$=%$@%$$@&=$@&#%@@$#%@&$%%%&=%&#%$%#%&@@@@@@@@@@@@
@@@@@@@@@@@@%&&&%$&&%=%%#@#%&&@=&$$$$%$&%$@$?$@@&%?$%&&#%%&%#&=&@@=$@@@@@@@@@@@@
@@@@@@@@@@@#?$%#%#=#?&==@@$&%$@=##&&&%@%$##&=&@@$?&=&&$%$%&%@%=$@@#=@@@@@@@@@@@@
@@@@@@@@@@@@=@&@&%#@%#$&@@&#@$$=%&#$&&@%%&#%@$@@#%@%#$%$@%@#$%#$$#%&@@@@@@@@@@@@