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