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