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