#include <cstdio>
#include <cstdlib>
#include <cmath>
#include <cstring>
#include <algorithm>
using namespace std;

int main()
{
    char s[60][60];
    int m,n;
    while(~scanf("%d%d",&m,&n))
    {
        int flag=0;
        getchar();
        for(int i=0; i<m; i++)
        {
            for(int j=0; j<n; j++)
                scanf("%c",&s[i][j]);
            getchar();
        }
        if(m==1&&n==1)
            printf("No\n");
        else
        {
            for(int i=0; i<m; i++)
            {
                for(int 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;
            }
            printf(flag==0?"Yes\n":"No\n");
        }
        return 0;
    }
}


Measured memory_bytes: 128