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