#n    n#n  n#n  #n  n#n   n#    n
                 ####n######################## n#|
                 |###############################
                  ##############################|
                  ##############################
                 |#~~nnnnnn~~###~~nnnnn~~######|
                 ~n##########n~n#########n~####|
                 #############|############ ###
                |####~#######|####~########||#~
      nnn        ###########~~|############ #n#~n
     |###|        ~#####~nnn##n~#########~n###n##|
     |####       nnnn~~~|#######nn~~~~~nn###n~##~
      |###      |#######n~~~~~nn#############|
      |##|     |#########################~ ###
  nn#nn###nn#n  ~~#################~~~~ n| ##|
 |##########~##    ~~~~~ nnnn nnnn ###~ ~ n##
|###########|n#        n ~~~~ ~~~~nnnn~~nn##
 ~###########|~       |##nn~~~~~~~~nnn####~
  ~~########|          ~~~###############|
    |#######                 nnnnnn######
    |#######|         nnnn###n~~~~~~~~~nn#####nnn
    |########      nn##############################n