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