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