##########################################
##########################################
##########################################
##########################################
########___###################__##########
####_______________________________#######
####__#________#_##___________________####
#####_________#####_____________##########
#####___###########____###################
######__###########____###################
######_############____###################
#####___###########___####################
##########################################
##########################################
##########################################