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