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