############
##########
########
### #####
######### #######################
########################################################################################################################################
##############
####################
######
########################
##############################
##################
###########################
########################
##############################
##################
###########################
########################
##############################
##################
###########################
########################
##############################
##################
###########################