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