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