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