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