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