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