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