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