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