#include <iostream>
#include <cstdio>
#include <algorithm>
using namespace std;

int main()
{
    int x,y,i,j;
    char a[55][55];
    while(scanf("%d%d",&x,&y)==2)
    {
        getchar();
        for(i=0;i<x;i++)
        {
            for(j=0;j<y;j++)
                scanf("%c",&a[i][j]);
            getchar();
        }
        int flag=1;
        for(i=0;i<x;i++)
        {
            for(j=0;j<y;j++)
            {
                if(a[i][j]=='#')
                {
                    if(i==0&&j==0)
                    {
                        if((a[i+1][j]==a[i][j+1])&&(a[i+1][j]=='.'))
                        {
                            flag=0;
                            break;
                        }
                    }
                    else if(i==0&&(j>0&&j<y-1))
                    {
                        if((a[i][j-1]==a[i+1][j])&&(a[i+1][j]==a[i][j+1])&&(a[i][j+1]=='.'))
                        {
                            flag=0;
                            break;
                        }
                    }
                    else if((i==0)&&(j==y-1))
                    {
                        if((a[i][j-1]==a[i+1][j])&&(a[i][j-1]=='.'))
                        {
                            flag=0;
                            break;
                        }
                    }
                    else if((i>0&&i<x-1)&&j==0)
                    {
                        if((a[i-1][j]==a[i+1][j])&&(a[i-1][j]==a[i][j+1])&&(a[i-1][j]=='.'))
                        {
                            flag=0;
                            break;
                        }
                    }
                    else if((i>0&&i<x-1)&&(j>0&&j<y-1))
                    {
                        if((a[i][j-1]==a[i][j+1])&&(a[i][j+1]==a[i-1][j])&&(a[i][j+1]==a[i+1][j])&&(a[i][j+1]=='.'))
                        {
                            flag=0;
                            break;
                        }
                    }
                    else if((i>0&&i<x-1)&&(j==y-1))
                    {
                        if((a[i-1][j]==a[i+1][j])&&(a[i+1][j]==a[i][j-1])&&(a[i+1][j]=='.'))
                        {
                            flag=0;
                            break;
                        }
                    }
                    else if(i==x-1&&(j==0))
                    {
                        if((a[i-1][j]==a[i][j+1])&&(a[i-1][j]=='.'))
                        {
                            flag=0;
                            break;
                        }
                    }
                    else if((i==x-1)&&(j>0&&j<y-1))
                    {
                        if((a[i][j-1]==a[i][j+1])&&(a[i][j+1]==a[i-1][j])&&(a[i][j+1]=='.'))
                        {
                            flag=0;
                            break;
                        }
                    }
                    else if((i==x-1)&&(j==y-1))
                    {
                        if((a[i-1][j]==a[i][j-1])&&(a[i-1][j]=='.'))
                        {
                            flag=0;
                            break;
                        }
                    }
                }

            }
        }
        if(flag==1)
            printf("Yes\n");
        else if(flag==0)
            printf("No\n");
    }
    return 0;
}


Measured memory_bytes: 256