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