#include <bits/stdc++.h>
using namespace std;
int H, W;
vector<vector<char>> field;
bool solve(int i, int j) {
  if ((i - 1 >= 0 && field[i - 1][j] == '#') ||
      (i + 1 < W - 1 && field[i + 1][j] == '#') ||
      (j - 1 >= 0 && field[i][j - 1] == '#') ||
      (j + 1 < H - 1 && field[i][j + 1] == '#')) {
    return true;
  } else
    return false;
}
int search() {
  for (int i = 0; i < field.size(); i++) {
    for (int j = 0; j < field[i].size(); j++) {
      if (field[i][j] == '#') {
        if (!solve(i, j)) {
          cout << "NO" << endl;
          return 0;
        }
      }
    }
  }
  cout << "YES" << endl;
  return 0;
}
int main() {
  cin.tie(0);
  ios::sync_with_stdio(false);
  cin >> H >> W;
  for (int w = 0; w < W; w++) {
    vector<char> res;
    for (int h = 0; h < H; h++) {
      char tmp;
      cin >> tmp;
      res.push_back(tmp);
    }
    field.push_back(res);
  }
  search();
}
