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