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