#include <bits/stdc++.h>
using namespace std;
int main() {
  int n, m, i, j;
  cin >> n >> m;
  vector<vector<char> > v(n, vector<char>(m));
  for (i = 0; i < n; i++)
    for (j = 0; j < m; j++) cin >> v[i][j];
  for (i = 0; i < n; i++) {
    for (j = 0; j < m; j++) {
      if (v[i][j] == '#') {
        if (i < n - 2 && j < m - 2) {
          if (v[i][j + 1] == '#' && v[i][j + 2] == '#' && v[i + 1][j] == '#' &&
              v[i + 1][j + 2] == '#' && v[i + 2][j] == '#' &&
              v[i + 2][j + 1] == '#' && v[i + 2][j + 2] == '#')
            continue;
        }
        if (i < n - 1 && j < m - 2 && i > 0) {
          if (v[i - 1][j] == '#' && v[i - 1][j + 1] == '#' &&
              v[i - 1][j + 2] == '#' && v[i + 1][j + 1] == '#' &&
              v[i + 1][j + 2] == '#' && v[i + 1][j] == '#' &&
              v[i][j + 2] == '#')
            continue;
        }
        if (i < n && i > 1 && j < m - 2) {
          if (v[i][j + 1] == '#' && v[i][j + 2] == '#' && v[i - 1][j] == '#' &&
              v[i - 1][j + 2] == '#' && v[i - 2][j] == '#' &&
              v[i - 2][j + 1] == '#' && v[i - 2][j + 2] == '#')
            continue;
        }
        if (i < n - 2 && j < m - 1 && j > 0) {
          if (v[i][j + 1] == '#' && v[i][j - 1] == '#' &&
              v[i + 1][j - 1] == '#' && v[i + 1][j + 1] == '#' &&
              v[i + 2][j] == '#' && v[i + 2][j + 1] == '#' &&
              v[i + 2][j - 1] == '#')
            continue;
        }
        if (i < n && i > 1 && j < m - 1 && j > 0) {
          if (v[i][j + 1] == '#' && v[i][j - 1] == '#' &&
              v[i - 1][j - 1] == '#' && v[i - 1][j + 1] == '#' &&
              v[i - 2][j] == '#' && v[i - 2][j + 1] == '#' &&
              v[i - 2][j - 1] == '#')
            continue;
        }
        if (i < n - 2 && j < m && j > 1) {
          if (v[i][j - 1] == '#' && v[i][j - 2] == '#' && v[i + 1][j] == '#' &&
              v[i + 1][j - 2] == '#' && v[i + 2][j] == '#' &&
              v[i + 2][j - 1] == '#' && v[i + 2][j - 2] == '#')
            continue;
        }
        if (i < n - 1 && i > 0 && j < m && j > 1) {
          if (v[i - 1][j] == '#' && v[i - 1][j - 1] == '#' &&
              v[i - 1][j - 2] == '#' && v[i + 1][j - 1] == '#' &&
              v[i + 1][j - 2] == '#' && v[i + 1][j] == '#' &&
              v[i][j - 2] == '#')
            continue;
        }
        if (i < n && i > 1 && j < m && j > 1) {
          if (v[i][j - 1] == '#' && v[i][j - 2] == '#' && v[i - 1][j] == '#' &&
              v[i - 1][j - 2] == '#' && v[i - 2][j] == '#' &&
              v[i - 2][j - 1] == '#' && v[i - 2][j - 2] == '#')
            continue;
        }
        cout << "NO";
        return 0;
      }
    }
  }
  cout << "YES";
}
