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