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