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