#include <iostream>
using namespace std;

int main() {
	int h,w;
	cin >> h >> w;
	char a[h][w];
	bool ok = true;
	//上からh左からw
	for (int i = 0;i < n;i++) {
		for (int j = 0;j < n;j++) {
			cin >> a[i][j];
		}
	}
	for (int i = 0;i < n;i++) {
		for (int j = 0;j < n;j++) {
			if (i == 0) {
				if (j == 0) {
					if (a[i][j] == '#') {
						if (a[i+1][j] != '#' || a[i][j+1] != '#') {
							ok = false;
						}
					}
				} else if (j == w - 1) {
					if (a[i][j] == '#') {
						if (a[i+1][j] != '#' || a[i][j-1] != '#') {
							ok = false;
						}
					}
				} else {
					if (a[i][j] == '#') {
						if (a[i+1][j] != '#' || a[i][j+1] != '#' || a[i][j-1] != '#') {
							ok = false;
						}
					}
				}
			} else if (i == h - 1) {
				if (j == 0) {
					if (a[i][j] == '#') {
						if (a[i-1][j] != '#' || a[i][j+1] != '#') {
							ok = false;
						}
					}
				} else if (j == w - 1) {
					if (a[i][j] == '#') {
						if (a[i-1][j] != '#' || a[i][j-1] != '#') {
							ok = false;
						}
					}
				} else {
					if (a[i][j] == '#') {
						if (a[i-1][j] != '#' || a[i][j+1] != '#' || a[i][j-1] != '#') {
							ok = false;
						}
					}
				}
			} else {
				if (j == 0) {
					if (a[i][j] == '#') {
						if (a[i-1][j] != '#' || a[i+1][j] != '#' || a[i][j+1] != '#') {
							ok = false;
						}
					}
				} else if (j == w - 1) {
					if (a[i][j] == '#') {
						if (a[i-1][j] != '#' || a[i+1][j] != '#' || a[i][j-1] != '#') {
							ok = false;
						}
					}
				} else {
					if (a[i][j] == '#') {
						if (a[i-1][j] != '#' || a[i+1][j] != '#' || a[i][j+1] != '#' || a[i][j-1] != '#') {
							ok = false;
						}
					}
				}
			}
		}
	}
	if (ok) {
		cout << "Yes";
	} else {
		cout << "No";
	}
}