#include<iostream>
#include <algorithm>
#include <math.h>
using namespace std;
int main()
{
	int h,w;
	bool ans = true;
	int n, m;
	cin >> h >>w;
	string s[h + 2][w + 2];
	string t[h];
	for (n = 0; n < h+2; n++){
		for (m = 0; m < w+2; m++){
			s[n][m] = ".";
		}
	}
	for (n=0; n < h; n++){
			cin >> t[n];
	}
	for (n = 1; n < h + 1; n++){
		for (m = 1; m < w + 1; m++){
			s[n][m] = t[n-1].substr(m,1);
		}
	}
	for (n = 1; n < h+1; n++){
		for (m = 1; m < w+1; m++){
			if (s[n][m] == "#" && s[n - 1][m] == "." && s[n][m - 1] == "."&& s[n+1][m] == "." && s[n][m + 1] == "."){
				ans = false;
			}
		}
	}
	if (ans||(h==1&&w==1){
		cout << "Yes" << endl;
	}
	else{
		cout << "No" << endl;
	}
	return 0;
}