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