###############################
###############################
###############################
#######################....####
################.....#......###
################.............##
################.............##
################.............##
################.....#......###
#############.......###....####
#############.......###.....###
#############.......###.....###
########~####.......~~~.....###
######~~~~~##.......###.....###
#####~~~~~~~~.......###.....###
#####~~~~~~~~~......###.....###
####~~~~~~~~~.......###########
###############################
###############################
###############################
###############################
