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