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