def solution(field):
  """
  Проверяет, соответствует ли заданному полю 10 × 10 корректная расстановка кораблей в игре «Морской бой».

  Args:
    field: Описание поля в виде таблицы 10 × 10.

  Returns:
    Строка «YES», если поле соответствует корректному размещению кораблей, и «NO» иначе.
  """

  # Проверка количества кораблей

  ship_counts = [0, 0, 0, 0]
  for row in field:
    for cell in row:
      if cell == '#':
        ship_counts[len(cell)] += 1
  if ship_counts != [1, 2, 3, 4]:
    return "NO"

  # Проверка размеров кораблей

  for row in range(10):
    for col in range(10):
      cell = field[row][col]
      if cell == '#':
        size = 1
        while cell == '#':
          col += 1
          if col == 10:
            break
          cell = field[row][col]
          size += 1
        if size not in [1, 2, 3, 4]:
          return "NO"

  # Проверка расположения кораблей

  for row in range(10):
    for col in range(10):
      cell = field[row][col]
      if cell == '#':
        for other_row in range(row - 1, row + 2):
          for other_col in range(col - 1, col + 2):
            if 0 <= other_row < 10 and 0 <= other_col < 10 and field[other_row][other_col] == '#':
              if row == other_row or col == other_col or abs(row - other_row) == abs(col - other_col):
                return "NO"

  return "YES"


if __name__ == "_main_":
  field = []
  for _ in range(10):
    field.append(list(input()))
  print(solution(field))
