#include <bits/stdc++.h>
using namespace std;
const long long maxn = 1e5 + 100;
const long long INF = 3e18 + 1191;
const long long mod = 1e9 + 7;
long long h, w;
char c[100][100];
long long cnt[10][100];
int32_t main() {
  ios_base::sync_with_stdio(0), cin.tie(0), cout.tie(0);
  cin >> h >> w;
  for (long long i = 1; i <= h; i++)
    for (long long j = 1; j <= w; j++) {
      cin >> c[i][j];
    }
  for (long long i = 1; i <= h; i++)
    for (long long j = 1; j <= w; j++) {
      if (c[i][j] == '#') {
        long long cnt = 0;
        if (i == 1 && j == 1) {
          if (c[i + 1][j] == '#') cnt++;
          if (c[i][j + 1] == '#') cnt++;
          if (cnt == 0) return cout << "NO1" << endl, 0;
        } else if (i == 1 && j > 1) {
          if (c[i + 1][j] == '#') cnt++;
          if (c[i][j + 1] == '#') cnt++;
          if (c[i][j - 1] == '#') cnt++;
          if (cnt == 0) return cout << "NO2" << endl, 0;
        } else if (i > 1 && j == 1) {
          if (c[i + 1][j] == '#') cnt++;
          if (c[i][j + 1] == '#') cnt++;
          if (c[i - 1][j] == '#') cnt++;
          if (cnt == 0) return cout << "NO3" << endl, 0;
        } else if (i > 1 && j > 1) {
          if (c[i + 1][j] == '#') cnt++;
          if (c[i][j + 1] == '#') cnt++;
          if (c[i - 1][j] == '#') cnt++;
          if (c[i][j - 1] == '#') cnt++;
          if (cnt == 0) return cout << "NO4" << endl, 0;
        }
        if (i == h && j == w) {
          if (c[i - 1][j] == '#') cnt++;
          if (c[i][j - 1] == '#') cnt++;
          if (cnt == 0) return cout << "NO5" << endl, 0;
        } else if (i == h && j < w) {
          if (c[i - 1][j] == '#') cnt++;
          if (c[i][j + 1] == '#') cnt++;
          if (c[i][j - 1] == '#') cnt++;
          if (cnt == 0) return cout << "NO6" << endl, 0;
        } else if (i < h && j == w) {
          if (c[i + 1][j] == '#') cnt++;
          if (c[i][j - 1] == '#') cnt++;
          if (c[i - 1][j] == '#') cnt++;
          if (cnt == 0) return cout << "NO7" << endl, 0;
        } else if (i < h && j < w) {
          if (c[i + 1][j] == '#') cnt++;
          if (c[i][j + 1] == '#') cnt++;
          if (c[i - 1][j] == '#') cnt++;
          if (c[i][j - 1] == '#') cnt++;
          if (cnt == 0) return cout << "NO8" << endl, 0;
        }
      }
    }
  cout << "YES" << endl;
  return 0;
}
