#include <bits/stdc++.h>
using namespace std;
int main() {
  int H, W;
  cin >> H >> W;
  vector<vector<char>> dot(H, vector<char>(W));
  for (int i = 0; i < H; i++) {
    for (int j = 0; j < W; j++) {
      cin >> dot.at(i).at(j);
    }
  }
  bool possible = true;
  for (int k = 0; k < H; k++) {
    for (int l = 0; l < W; l++) {
      if (dot.at(k).at(l) == '#') {
        bool check = false;
        if (k > 0) {
          if (dot.at(k - 1).at(l) == '#') {
            check = true;
          }
        }
        if (l > 0) {
          if (dot.at(k).at(l - 1) == '#') {
            check = true;
          }
        }
        if (k < H - 1) {
          if (dot.at(k + 1).at(l) == '#') {
            check = true;
          }
        }
        if (l < W - 1) {
          if (dot.at(k).at(l + 1) == '#') {
            check = true;
          }
        }
        if (check == false) {
          possible = false;
        }
      }
    }
  }
  if (possible) {
    cout << "YES" << endl;
  } else {
    cout << "NO" << endl;
  }
}
