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