#include <bits/stdc++.h>
using ll = long long;
using namespace std;
using ld = long double;
const int MAXN = 55;
bool a[MAXN][MAXN];
int n, m;
void enter() {
  memset(a, false, sizeof(a));
  cin >> n >> m;
  for (int i = 1; i <= n; ++i)
    for (int j = 1; j <= m; ++j) {
      char t;
      cin >> t;
      if (t == '#') a[i][j] = true;
    }
  bool ans = true;
  for (int i = 1; i <= n; ++i) {
    if (ans == false) continue;
    for (int j = 1; j <= m; ++j) {
      if (ans == false) continue;
      if (a[i][j]) {
        int flag = false;
        flag = flag | a[i][j - 1];
        flag = flag | a[i][j + 1];
        flag = flag | a[i + 1][j];
        flag = flag | a[i - 1][j];
        if (flag == false) ans = false;
      }
    }
  }
  if (ans)
    cout << "YES";
  else
    cout << "NO";
}
int main() {
  ios_base::sync_with_stdio(0);
  cin.tie(0);
  ;
  enter();
  return 0;
}
