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