#include<bits/stdc++.h>
#define ll          long long
#define pb          push_back
#define	endl		'\n'
#define pii         pair<ll int,ll int>
#define vi          vector<ll int>
#define all(a)      (a).begin(),(a).end()
#define F           first
#define S           second
#define hell        1000000007
#define lbnd        lower_bound
#define ubnd        upper_bound
#define bs          binary_search
#define ios		ios_base::sync_with_stdio(false);cin.tie(0);cout.tie(0);
using namespace std;
int main()
{
	ios
	int h,w;
	cin>>h>>w;
	char a[100][100];

	for(int i=1;i<=h;i++)
	{
		for(int j=1;j<=w;j++)
		cin>>a[i][j];
	}
	for(int i=0;i<=h+1;i++)
	{
		a[i][0]='.';
		a[i][w+1]='.'
	}
	for(int j=0;j<=w+1;j++)
	{
		a[0][j]='.'
		a[h+1][j]='.'
	}
	for(int i=0;i<h;i++)
	{
		for(int j=0;j<w;j++)
		{
			if(a[i][j]=='#')
			{
				if(a[i][j-1]=='#'||a[i][j+1]=='#'||a[i+1][j]=='#'||a[i-1][j]=='#')
				continue;
				else
				{
					cout<<"NO";
					return 0;
				}	
			}
		}
	}
	cout<<"YES";
}