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