#include <stdio.h>
#include <algorithm>
using namespace std;
int main()
{
    int m,n,i,j,flag=0;
    char s[60][60];
    scanf("%d %d",&m,&n);
    getchar();
    for(i=0; i<m; i++)
    {
        for(j=0; j<n; j++)
            scanf("%c",&s[i][j]);
        getchar();
    }
    if(m==1&&n==1)
        printf("No\n");
    else if((m==1&&n!=1)||(n==1&&m!=1))
        printf("Yes\n");
    else
    {
        for(i=0; i<m; i++)
        {
            for(j=0; j<n; j++)
            {
                if(s[i][j]=='#')
                {
                    if(i==0&&j==0)
                    {
                        if(s[i+1][j]=='.'&&s[i][j+1]=='.')
                        {
                            flag=1;
                            break;
                        }
                    }
                    else if(i==0&&j==n-1)
                    {
                        if(s[i+1][j]=='.'&&s[i][j-1]=='.')
                        {
                            flag=1;
                            break;
                        }
                    }
                    else if(i==m-1&&j==0)
                    {
                        if(s[i-1][j]=='.'&&s[i][j+1]=='.')
                        {
                            flag=1;
                            break;
                        }
                    }
                    else if(i==m-1&&j==n-1)
                    {
                        if(s[i-1][j]=='.'&&s[i][j-1]=='.')
                        {
                            flag=1;
                            break;
                        }
                    }
                    else if(i==0)
                    {
                        if(s[i+1][j]=='.'&&s[i][j-1]=='.'&&s[i][j+1]=='.')
                        {
                            flag=1;
                            break;
                        }
                    }
                    else if(j==0)
                    {
                        if(s[i+1][j]=='.'&&s[i-1][j]=='.'&&s[i][j+1]=='.')
                        {
                            flag=1;
                            break;
                        }
                    }
                    else if(i==m-1)
                    {
                        if(s[i-1][j]=='.'&&s[i][j+1]=='.'&&s[i][j-1]=='.')
                        {
                            flag=1;
                            break;
                        }
                    }
                    else if(j==n-1)
                    {
                        if(s[i-1][j]=='.'&&s[i][j-1]=='.'&&s[i+1][j]=='.')
                        {
                            flag=1;
                            break;
                        }
                    }
                    else
                    {
                        if(s[i-1][j]=='.'&&s[i][j-1]=='.'&&s[i+1][j]=='.'&&s[i][j+1]=='.')
                        {
                            flag=1;
                            break;
                        }
                    }
                }
            }
            if(flag==1)
                break;
        }
        if(flag==0)
            printf("Yes\n");
        else
            printf("No\n");
    }
    return 0;
}


Measured memory_bytes: 128