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