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