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