#include <bits/stdc++.h>
using namespace std;
char tile[50][50];
int Solve(int, int);
int h, w;
int main() {
  cin >> h >> w;
  for (int i = 0; i < h; i++) {
    for (int j = 0; j < w; j++) cin >> tile[i][j];
  }
  int flag = 0;
  for (int i = 0; i < h; i++) {
    for (int j = 0; j < w; j++) {
      if (tile[i][j] == '#') {
        flag += Solve(i, j);
      }
    }
  }
  if (flag)
    cout << "No";
  else
    cout << "Yes";
  cout << endl;
  return 0;
}
int Solve(int y, int x) {
  for (int dy = -1; dy <= 1; dy++) {
    for (int dx = -1; dx <= 1; dx++) {
      if (x + dx < 0 || x + dx >= w || y + dy < 0 || y + dy >= h)
        continue;
      else if (dy == dx)
        continue;
      if (tile[y + dy][x + dx] == '#') {
        return 0;
      }
    }
  }
  return 1;
}
