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