######
####
##
##
##
##
##
##
##
##-----------##--------- ##
#####--------##---------#####
#######------ ##------ ########
##########################
########################
#####################
##################
################
#################
##################
####################
#####################
###################
################
#############