#include <bits/stdc++.h>
using namespace std;
int n, m;
bool valid(int i, int j) { return (i >= 0 && j >= 0 && i < n && j < m); }
int main() {
  scanf("%d %d", &n, &m);
  string grid[51];
  for (int i = 0; i < n; ++i) {
    cin >> grid[i];
  }
  for (int i = 0; i < n; ++i) {
    for (int j = 0; j < m; j++) {
      if (grid[i][j] != '#') continue;
      bool ok = false;
      for (int dx = -1; dx <= 1; dx++) {
        for (int dy = -1; dy <= 1; dy++) {
          if (!valid(i + dx, j + dy)) continue;
          if (abs(i + dx) == abs(j + dy)) continue;
          ok |= grid[i + dx][j + dy] == '#';
        }
      }
      if (!ok) {
        cout << "No" << endl;
        return 0;
      }
    }
  }
  cout << "Yes" << endl;
  return 0;
}
