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