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