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