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