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