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