#include <bits/stdc++.h>
using namespace std;
string m[111];
long long a, b;
long long vx[4] = {1, 0, -1, 0};
long long vy[4] = {0, 1, 0, -1};
bool check(long long x, long long y) {
  return x >= 0 && x < a && y >= 0 && y < b;
}
int main() {
  cin.tie(0);
  ios::sync_with_stdio(false);
  cin >> a >> b;
  for (int i = 0; i < a; i++) {
    cin >> m[i];
  }
  bool ans = true;
  for (int i = 0; i < a; i++) {
    for (int j = 0; j < b; j++) {
      bool fl = true;
      for (int k = 0; k < 4; k++) {
        long long x = i + vx[k], y = j + vy[k];
        if (m[i][j] == '#' && check(x, y) && m[x][y] == '#') {
          fl = false;
        }
      }
      if (m[i][j] == '#' && fl) ans = false;
    }
  }
  if (ans)
    cout << "YES" << endl;
  else
    cout << "NO" << endl;
  return 0;
}
