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