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