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