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