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