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