########################################
########################################
########################################
########################################
########################################
########################################
########################################
################........################
##############............##############
############................############
###########..................###########
##########....................##########
#########......................#########
#########......###....###......#########
########......#+++#..#+++#......########
########......#+++#..#+++#......########
#######.......#++##..#++##.......#######
#######.......#+###..#+###.......#######
#######.......#+###..#+###.......#######
#######........###....###........#######
#######..........................#######
#######..........................#######
#######..........................#######
########....##............##....########
########.....###........###.....########
#########.....############.....#########
#########......##########......#########
##########......########......##########
###########.......####.......###########
############................############
##############............##############
################........################
########################################
########################################
########################################
########################################
########################################
########################################
########################################
########################################