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