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