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