#######################
#     # #     # # #   #
### ### ##### # # # ###
# #       #   #     # #
# # # ##### ### ##### #
#   #   # #     #     #
##### ### # ######### #
#                     #
##### # # ### ####### #
#     # # #   #     # #
########### # ### ### #
# #   # #   # #   #   #
# ### # # ### # ### ###
#   #       # # #   # #
# ### ####### # # ### #
#   #       #   #     #
### ####### ### #######
#             # #     #
########### # ##### # #
#           #   #   # #
##### ####### ##### # #
#       #           # #
#######################