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