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