#include<iostream>
#include<cmath>
#include<algorithm>
#include<string>
#include<vector>
using namespace std;


int main()
{
	int h, w;
	cin >> h >> w;
	vector<string> masu;
	for (int i = 0; i < h; ++i) {
		string s;
		cin >> s;
		masu.push_back(s);
	}
	bool ok = true;
	bool top;
	bool bot;
	bool l;
	bool r;
	string yn = "Yes";
	for (int i1 = 0; i1 < masu.size(); ++i1) {
		for (int i2 = 0; i2 < masu[i1].size; ++i2) {
			top = true;
			bot = true;
			l = true;
			r = true;

			if (masu[i1][i2] == '#') {
				if (i1 == 0)
					top = false;
				else if (masu[i1 - 1][i2] == '.')
					top = false;
				if (i2 == 0)
					l = false;
				else if (masu[i1][i2 - 1] == '.')
					l = false;
				if (i1 == masu.size() - 1)
					bot = false;
				else if (masu[i1 + 1][i2] == '.')
					bot = false;
				if (i2 == masu[i1].size() - 1)
					r = false;
				else if (masu[i1][i2 + 1] == '.')
					r = false;
				if (top || bot || l || r == false) {
					yn = "No";
				}
			}
		}
	}
	cout << yn;
}