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