#include <bits/stdc++.h>
using namespace std;
int dy[] = {0, 0, 1, -1, 0};
int dx[] = {1, -1, 0, 0, 0};
int main() {
  int H, W;
  cin >> H >> W;
  char c[100][100];
  for (int i = 0; i < H; i++)
    for (int j = 0; j < W; j++) cin >> c[i][j];
  string ans = "YES";
  for (int i = 0; i < H; i++)
    for (int j = 0; j < W; j++) {
      if (i == 0 && j == 0 && c[i][j] == '#' && c[i + 1][j] == '.' &&
          c[i][j + 1] == '.')
        ans = "NO";
      else if (i == 0 && c[i][j] == '#' && c[i][j - 1] == '.' &&
               c[i][j + 1] == '.' && c[i + 1][j] == '.')
        ans = "NO";
      else if (j == 0 && c[i][j] == '#' && c[i - 1][j] == '.' &&
               c[i + 1][j] == '.' && c[i][j + 1] == '.')
        ans = "NO";
      else if (c[i][j] == '#' && c[i - 1][j] == '.' && c[i + 1][j] == '.' &&
               c[i][j + 1] == '.' && c[i][j - 1] == '.')
        ans = "NO";
    }
  cout << ans << endl;
}
