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