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