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