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