#include <iostream>
#include <vector>
#include <utility>
#include <algorithm>

using namespace std;
bool isDistanceOk(pair<int, int> coord1, pair<int, int> coord2) {
int dx = abs(coord1.first - coord2.first);
int dy = abs(coord1.second - coord2.second);
return dx > 1 || dy > 1;
}

int main() {
    vector<vector<char>> userfield = {
        {'#', '.', '#', '.', '#', '.', '.', '.', '.', '.'},
        {'.', '.', '.', '.', '.', '.', '.', '#', '#', '.'},
        {'.', '#', '.', '.', '#', '.', '.', '.', '.', '.'},
        {'.', '#', '.', '.', '.', '.', '.', '.', '.', '.'},
        {'.', '#', '.', '.', '#', '#', '.', '.', '.', '.'},
        {'.', '.', '.', '.', '.', '.', '.', '.', '.', '.'},
        {'#', '#', '#', '#', '.', '.', '.', '#', '.', '.'},
        {'.', '.', '.', '.', '.', '.', '.', '#', '.', '.'},
        {'.', '.', '.', '.', '.', '.', '.', '#', '.', '.'},
        {'#', '#', '.', '.', '.', '.', '.', '.', '.', '.'}
    };
    vector<vector<char>> field(10, vector<char>(10)); 
    for(int i=0; i<10; i++){
        for(int j=0; j<10; j++){
            cin >> field[i][j];
        }
    }
    
    int count_4 = 0; // количество четырехпалубников
    int count_3 = 0; // количество трехпалубников
    int count_2 = 0; // количество двухпалубников
    int count_1 = 0; // количество однопалубников
    vector<vector<pair<int, int>>> ships_1; // stores coordinates of one-cell ships separately
vector<vector<pair<int, int>>> ships_2; // stores coordinates of two-cell ships separately
vector<vector<pair<int, int>>> ships_3; // stores coordinates of three-cell ships separately
vector<vector<pair<int, int>>> ships_4; // stores coordinates of four-cell ships separately

// проход по всем клеткам поля
for (int i = 0; i < 10; i++) {
    for (int j = 0; j < 10; j++) {
        if (field[i][j] == '#') { // если текущая клетка занята кораблем
            // проверка, является ли эта клетка началом нового корабля
            if ((i == 0 || field[i-1][j] == '.') && (j == 0 || field[i][j-1] == '.')) {
                // определение размера и направления корабля
                int size = 1;
                bool vertical = false;
                while (i+size < 10 && field[i+size][j] == '#') {
                    size++;
                    vertical = true;
                }
                if (!vertical) {
                    while (j+size < 10 && field[i][j+size] == '#') {
                        size++;
                    }
                }
                // проверка, что корабль целиком помещается внутри поля
                // увеличение счетчика кораблей соответствующего типа
                if (size == 1) {
                    count_1++;
                    vector<pair<int, int>> ship_coords;
                    ship_coords.push_back(make_pair(i, j));
                    ships_1.push_back(ship_coords);
                } else if (size == 2) {
                    count_2++;
                    vector<pair<int, int>> ship_coords;
                    for (int k = 0; k < 2; k++) {
                        if (vertical) {
                            ship_coords.push_back(make_pair(i+k, j));
                        } else {
                            ship_coords.push_back(make_pair(i, j+k));
                        }
                    }
                    ships_2.push_back(ship_coords);
                } else if (size == 3) {
                    count_3++;
                    vector<pair<int, int>> ship_coords;
                    for (int k = 0; k < 3; k++) {
                        if (vertical) {
                            ship_coords.push_back(make_pair(i+k, j));
                        } else {
                            ship_coords.push_back(make_pair(i, j+k));
                        }
                    }
                    ships_3.push_back(ship_coords);
                } else if (size == 4) {
                    count_4++;
                    vector<pair<int, int>> ship_coords;
                    for (int k = 0; k < 4; k++) {
                        if (vertical) {
                            ship_coords.push_back(make_pair(i+k, j));
                        } else {
                            ship_coords.push_back(make_pair(i, j+k));
                        }
                    }
                    ships_4.push_back(ship_coords);
                }
            }
        }
    }
}

// вывод координат кораблей
//cout << "One-cell ships: ";
//for (auto ship : ships_1) {
//    cout << "{";
//    for (auto coord : ship) {
//        cout << "(" << coord.first << "," << coord.second << ")";
//    }
//    cout << "} ";
//}
//cout << endl;
//
//cout << "Two-cell ships: ";
//for (auto ship : ships_2) {
//    cout << "{";
//    for (auto coord : ship) {
//        cout << "(" << coord.first << "," << coord.second << ")";
//    }
//    cout << "} ";
//}
//cout << endl;
//
//cout << "Three-cell ships: ";
//for (auto ship : ships_3) {
//    cout << "{";
//    for (auto coord : ship) {
//        cout << "(" << coord.first << "," << coord.second << ")";
//    }
//    cout << "} ";
//}
//cout << endl;
//
//cout << "Four-cell ships: ";
//for (auto ship : ships_4) {
//    cout << "{";
//    for (auto coord : ship) {
//        cout << "(" << coord.first << "," << coord.second << ")";
//    }
//    cout << "} ";
//}
//cout << endl;
//
//cout << count_1 << count_2 << count_3 << count_4 << endl;

// проверка, что все корабли были расставлены
if (count_4 != 1 || count_3 != 2 || count_2 != 3 || count_1 != 4) {
    cout << "NO" << endl;
    return 0;
}
for (auto ship1 : ships_1) {
for (auto coord1 : ship1) {
for (auto ship2 : ships_2) {
for (auto coord2 : ship2) {
if (!isDistanceOk(coord1, coord2)) {
cout << "NO" << endl;
return 0;
}
}
}
for (auto ship3 : ships_3) {
for (auto coord3 : ship3) {
if (!isDistanceOk(coord1, coord3)) {
cout << "NO" << endl;
return 0;
}
}
}
for (auto ship4 : ships_4) {
for (auto coord4 : ship4) {
if (!isDistanceOk(coord1, coord4)) {
cout << "NO" << endl;
return 0;
}
}
}
}
}
for (auto ship2 : ships_2) {
for (auto coord2 : ship2) {
for (auto ship3 : ships_3) {
for (auto coord3 : ship3) {
if (!isDistanceOk(coord2, coord3)) {
cout << "NO" << endl;
return 0;
}
}
}
for (auto ship4 : ships_4) {
for (auto coord4 : ship4) {
if (!isDistanceOk(coord2, coord4)) {
cout << "NO" << endl;
return 0;
}
}
}
}
}
for (auto ship3 : ships_3) {
for (auto coord3 : ship3) {
for (auto ship4 : ships_4) {
for (auto coord4 : ship4) {
if (!isDistanceOk(coord3, coord4)) {
cout << "NO" << endl;
return 0;
}
}
}
}
}

cout << "YES" << endl;
return 0;
}
