#include <bits/stdc++.h>
using namespace std;
int main() {
  int h, w;
  cin >> h >> w;
  char ma[101][101];
  int dx[] = {0, 0, -1, 1}, dy[] = {1, -1, 0, 0};
  bool res = true;
  for (int i = 0; i < h; i++)
    for (int j = 0; j < w; j++) cin >> ma[i][j];
  for (int i = 0; i < h; i++) {
    for (int j = 0; j < w; j++) {
      if (ma[i][j] == '.') continue;
      bool f1 = false;
      for (int k = 0; k < 4; k++) {
        int nx = i + dx[k], ny = j + dy[k];
        if (0 <= nx and nx < h and 0 <= ny and ny < w and ma[i][j] == '#') {
          if (ma[nx][ny] == '#') f1 = true;
        }
      }
      if (!f1) {
        cout << "NO" << endl;
        return 0;
      }
    }
  }
  cout << "YES" << endl;
  return 0;
}
