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