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