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