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