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