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