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