#include <bits/stdc++.h>
using namespace std;
const int INTINF = 1 << 30;
const long long LLINF = 1LL << 62;
const int MOD = (int)1e9 + 7;
const double EPS = 1e-9;
const int DX[8] = {0, 1, 0, -1, 1, 1, -1, -1};
const int DY[8] = {1, 0, -1, 0, 1, -1, 1, -1};
int main() {
  cin.tie(0);
  ios::sync_with_stdio(false);
  int h, w;
  static const int size = 50;
  int black[size + 2][size + 2] = {};
  string S;
  cin >> h >> w;
  for (int i = (0); i < (h); ++i) {
    cin >> S;
    for (int j = (0); j < (S.size()); ++j) {
      if (S[j] == '#') {
        black[i + 1][j + 1] = 1;
      }
    }
  }
  for (int i = (0); i < (h); ++i) {
    for (int j = (0); j < (w); ++j) {
      if (black[i + 1][j + 1] == 1) {
        bool flag = false;
        for (int k = (0); k < (4); ++k) {
          if (black[i + 1 + DY[k]][j + 1 + DX[k]] == 1) flag = true;
        }
        if (!flag) {
          cout << "NO" << endl;
          return 0;
        }
      }
    }
  }
  cout << "YES" << endl;
}
