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