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