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