######################################################################################################################################################
######################################################################################################################################################
######################################################################################################################################################
######################################################################################################################################################
######################################################################################################################################################
######################################################################################################################################################
######################################################################################################################################################
######################################################################################################################################################
######################################################################################################################################################
######################################################################################################################################################
######################################################################################################################################################
######################################################################################################################################################
######################################################################################################################################################
######################################################################################################################################################
######################################################################################################################################################
######################################################################################################################################################
######################################################################################################################################################
######################################################################################################################################################
######################################################################################################################################################
######################################################################################################################################################
######################################################################################################################################################
######################################################################################################################################################
######################################################################################################################################################
######################################################################################################################################################
######################################################################################################################################################
######################################################################################################################################################
######################################################################################################################################################
######################################################################################################################################################
######################################################################################################################################################
######################################################################################################################################################
######################################################################################################################################################
######################################################################################################################################################
######################################################################################################################################################
######################################################################################################################################################
######################################################################################################################################################
######################################################################################################################################################
######################################################################################################################################################
######################################################################################################################################################
######################################################################################################################################################
######################################################################################################################################################
######################################################################################################################################################
######################################################################################################################################################
######################################################################################################################################################
######################################################################################################################################################
######################################################################################################################################################
######################################################################################################################################################
######################################################################################################################################################
######################################################################################################################################################
######################################################################################################################################################
######################################################################################################################################################
######################################################################################################################################################
######################################################################################################################################################
######################################################################################################################################################
##########################################@###########################################################################################################
######################################################################################################################################################
##############################################################@@##################@##@@###############################################################
#######################@##################@###########################################################################################################
#########################################@###############################################@############################################################
#######################################################@#####################@###########@############################################################
##################################################################@###########@##########@##################@@WM@#@##@@@@@@@@#########################
#####################################################@##########@#@######################@##################@;ii*z####@####@@#########################
#########################################################################################@####@@############# iii`M###################################
######################################################################@####@#############@##################; iii *########@##########################
############################################################################################################, iii ,#@###@@@###########################
################################################################@#########@##############@@@@###############: iii ,#####@@@###########################
######################@##################################################################@##################* iii :########@##########################
################################################@########################################@##################W`iii +###################################
##########################################@#####@###############@@#######################@#######@###########ziii,@###@###############################
##########################################@######@###############@#######################@####################@MM@####@##@############################
##########################################@######################@#######################@#######@####################################################
##########################################@###@#######################################################################################################
############################################@@#########@#####@@########@##########@@@#################################################################
###########################@#######@@#################################################################################################################
######################################################################################################################################################
#################################@##@#################################################################################################################
######################################################################################################################################################
############@#############################################################################################################################@###########
######################################################################################################################################################
######################################################################################################################################################
#######################@##############################################################################################################################
#######################@################################################@@################################################@@@#@#######################
#######################@#############################################@M*++x#################################@@@@####################@#################
#######################@############################################W,i.;,i;M######################@###############################WWW@###############
#######################@############################################; i.;,i..W#####################@##############################W@WWW###############
#######################@###########################################x  i.;,i. i#########@#########################@############@###W@WWW###############
#######################@####################@######################*  i.;,i. `W########@##########################################@W@WW###############
#######################@####################@######################;  i.;,i.  #########@########################@##################@@@################
#######################@####################@######################,  i.;,i.  i########@##############################################################
#######################@####################@########@@############,  i.;,i.  ;########@#########################@####################################
#######################@#########@##########@######################:  i.;,i.  :##@###@#@#########################@####################################
#######################@####################@###################@##*  i.;,i.  ;######@#@########################@@#########@##########################
############################################@######################x  i.;,i.  *######@#@########@#####################################################
############################################@#######################, i.;,i.  n########@#############################@##########@#####################
############################################@#######################n`i.;,i. .@#######################################################################
####################################################@#################i.;,i.`n########################################################################
#########################################@##@#########################Wii,i;n###########################@###@@@#@##@########@#########################
############################@#########################@#################@@@###########################@###############@###@###########################
###################@####################################################@################################################@@###########################
######################################################################################################################################################
######################################################################################################################################################
######################################################################################################################################################
######################################################################################################################################################
######################################################################################################################################################
######################################################################################################################################################
######################################################################################################################################################
######################################################################################################################################################
######################################################################################################################################################
######################################################################################################################################################
######################################################################################################################################################
######################################################################################################################################################
######################################################################################################################################################
######################################################################################################################################################
######################################################################################################################################################
######################################################################################################################################################
######################################################################################################################################################
######################################################################################################################################################
######################################################################################################################################################
######################################################################################################################################################
######################################################################################################################################################
######################################################################################################################################################
######################################################################################################################################################
######################################################################################################################################################
######################################################################################################################################################
######################################################################################################################################################
######################################################################################################################################################
######################################################################################################################################################
######################################################################################################################################################
######################################################################################################################################################
######################################################################################################################################################
######################################################################################################################################################
######################################################################################################################################################
######################################################################################################################################################
######################################################################################################################################################
######################################################################################################################################################
######################################################################################################################################################
######################################################################################################################################################
######################################################################################################################################################
######################################################################################################################################################
######################################################################################################################################################
######################################################################################################################################################
######################################################################################################################################################
######################################################################################################################################################
######################################################################################################################################################
######################################################################################################################################################
######################################################################################################################################################
######################################################################################################################################################
######################################################################################################################################################
######################################################################################################################################################
######################################################################################################################################################
######################################################################################################################################################