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