#include <bits/stdc++.h>
using namespace std;
char s[55][55];
int dir[4][2] = {0, 1, 1, 0, 0, -1, -1, 0};
long long int a, b;
bool search(int x, int y) {
  for (int i = 0; i < 4; i++) {
    int xx = x + dir[i][0];
    int yy = y + dir[i][1];
    if (xx >= 0 && xx < a && y >= 0 && y < b) {
      if (s[xx][yy] == '#') return true;
    }
  }
  return false;
}
int main() {
  cin >> a >> b;
  for (int i = 0; i < a; i++)
    for (int j = 0; j < b; j++) cin >> s[i][j];
  for (int i = 0; i < a; i++) {
    for (int j = 0; j < b; j++) {
      if (s[i][j] == '#') {
        bool prime = search(i, j);
        if (!prime) {
          return 0 * printf("NO\n");
        }
      }
    }
  }
  printf("YES\n");
  return 0;
}
