import java.util.Scanner;

public class Battleship {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        char[][] field = new char[10][10];

        // Считываем поле
        for (int i = 0; i < 10; i++) {
            String line = scanner.nextLine();
            for (int j = 0; j < 10; j++) {
                field[i][j] = line.charAt(j);
            }
        }

        // Проверяем корректность расстановки кораблей
        if (isValidBattleshipPlacement(field)) {
            System.out.println("YES");
        } else {
            System.out.println("NO");
        }
    }

    static boolean isValidBattleshipPlacement(char[][] field) {
        int[] shipSizes = {4, 3, 3, 2, 2, 2, 1, 1, 1, 1};
        int[] shipCount = new int[shipSizes.length];

        for (int i = 0; i < 10; i++) {
            for (int j = 0; j < 10; j++) {
                if (field[i][j] == '#') {
                    // Найдена клетка с кораблем
                    int shipSize = 0;

                    // Проверяем горизонтальное расположение
                    for (int k = j; k < 10; k++) {
                        if (field[i][k] == '#') {
                            shipSize++;
                            field[i][k] = '.'; // Помечаем клетку, чтобы не считать её повторно
                        } else {
                            break;
                        }
                    }

                    // Проверяем вертикальное расположение
                    for (int k = i; k < 10; k++) {
                        if (field[k][j] == '#') {
                            shipSize++;
                            field[k][j] = '.'; // Помечаем клетку, чтобы не считать её повторно
                        } else {
                            break;
                        }
                    }

                    // Проверяем размер корабля
                    boolean validSize = false;
                    for (int k = 0; k < shipSizes.length; k++) {
                        if (shipSize == shipSizes[k]) {
                            shipCount[k]++;
                            validSize = true;
                            break;
                        }
                    }

                    if (!validSize) {
                        return false; // Размер корабля некорректен
                    }
                }
            }
        }

        // Проверяем количество кораблей каждого размера
        for (int i = 0; i < shipSizes.length; i++) {
            if (shipCount[i] != shipSizes[i]) {
                return false; // Количество кораблей данного размера некорректно
            }
        }

        return true; // Все проверки прошли успешно
    }
}
