#include <bits/stdc++.h>
using namespace std;
int main() {
  int H, W;
  cin >> H >> W;
  string s;
  vector<string> ss;
  for (int i = 0; i < H; i++) {
    cin >> s;
    ss.push_back(s);
  }
  bool fail = false;
  for (int i = 0; i < H; i++) {
    for (int j = 0; j < W; j++) {
      if (ss[i][j] == '#') {
        if (i == 0) {
          if (ss[i + 1][j] != '#' && ss[i][j - 1] != '#' && ss[i][j + 1] != '#')
            fail = true;
          break;
        } else if (i == H - 1) {
          if (ss[i - 1][j] != '#' && ss[i][j - 1] != '#' && ss[i][j + 1] != '#')
            fail = true;
          break;
        } else if (j == 0) {
          if (ss[i - 1][j] != '#' && ss[i + 1][j] != '#' && ss[i][j + 1] != '#')
            fail = true;
          break;
        } else if (j == W - 1) {
          if (ss[i - 1][j] != '#' && ss[i + 1][j] != '#' && ss[i][j - 1] != '#')
            fail = true;
          break;
        } else {
          if (ss[i - 1][j] != '#' && ss[i + 1][j] != '#' &&
              ss[i][j - 1] != '#' && ss[i][j + 1] != '#')
            fail = true;
          break;
        }
      }
    }
    if (fail == true) {
      break;
    }
  }
  if (fail == true) {
    cout << "No" << endl;
  } else {
    cout << "Yes" << endl;
  }
  return 0;
}
