#include <iostream>

using namespace::std;

int func(char str[10][10], int x, int y, char st)
{
    int k=0;
    if(st=='u')
    {
        for(int i=x; str[i][y]=='#'; i--)
        {
            str[i][y]='%';
            k++;
        }
    }
    else if(st=='l')
    {
        for(int j=y; str[x][j]=='#'; j--)
        {
            str[x][j]='%';
            k++;
        }
    }
    else if(st=='r')
    {
        for(int j=y; str[x][j]=='#'; j++)
        {
            str[x][j]='%';
            k++;
        }
    }
    else if(st=='d')
    {
        for(int i=x; str[i][y]=='#'; i++)
        {
            str[i][y]='%';
            k++;
        }
    }
    return k;
}

int main()
{
    char str[10][10];

    for(int i=0; i<10; i++)
    {
        for(int j=0; j<10; j++)
        {
            cin >> str[i][j];
        }
    }

    bool flag, raz;
    int korb=0;

    int kol_korb[3]={3, 2, 1};

    int n;

    for(int i=0; i<10; i++)
    {
        for(int j=0; j<10; j++)
        {
            if(str[i][j]=='%')
            {
                korb++;
            }
            else if(str[i][j]=='#')
            {
                korb++;
                flag=true;
                raz=true;
                if(str[i-1][j-1]=='#' && flag)
                {
                    flag==false;
                }
                if(str[i][j-1]=='#' && flag && raz)
                {
                    n=func(str, i, j, 'l')-2;
                    if(kol_korb[n]<0)
                    {
                        flag==false;
                    }
                    kol_korb[n]-=1;
                    raz=false;
                }
                if(str[i+1][j-1]=='#' && flag)
                {
                    flag=false;
                }
                if(str[i-1][j]=='#' && flag && raz)
                {
                    n=func(str, i, j, 'u')-2;
                    if(kol_korb[n]<0)
                    {
                        flag==false;
                    }
                    kol_korb[n]-=1;
                    raz=false;
                }
                if(str[i+1][j]=='#' && flag && raz)
                {
                    n=func(str, i, j, 'd')-2;
                    if(kol_korb[n]<0)
                    {
                        flag==false;
                    }
                    kol_korb[n]-=1;
                    raz=false;
                }
                if(str[i-1][j+1]=='#' && flag)
                {
                    flag=false;
                }
                if(str[i][j+1]=='#' && flag && raz)
                {
                    n=func(str, i, j, 'r')-2;
                    if(kol_korb[n]<0)
                    {
                        flag==false;
                    }
                    kol_korb[n]-=1;
                    raz=false;
                }
                if(str[i+1][j+1]=='#' && flag)
                {
                    flag=false;
                }
            }
            if(!flag && raz)
            {
                cout << "NO" << endl;
                return 0;
            }
        }
    }
    if(korb==20)
    {
        cout << "YES" << endl;
    }
    else
    {
        cout << "error" << endl;
    }
    return 0;
}
