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