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