#include <bits/stdc++.h>
using namespace std;
int main() {
  int H, W;
  vector<string> canvus(52);
  cin >> H >> W;
  int i, j;
  for (i = 1; i <= H; i++) {
    canvus.at(i) = '.';
    string k;
    cin >> k;
    canvus.at(i) += k + '.';
  }
  canvus.at(0) = "";
  canvus.at(H + 1) = "";
  for (i = 0; i <= H + 1; i += H + 1) {
    for (j = 0; j <= W + 1; j++) {
      canvus.at(i) += '.';
    }
  }
  bool flag = true;
  i = 1;
  j = 1;
  while (i <= H && flag) {
    while (j <= W && flag) {
      if (canvus.at(i).at(j) == '#') {
        if (canvus.at(i + 1).at(j) == '.' && canvus.at(i - 1).at(j) == '.' &&
            canvus.at(i).at(j + 1) == '.' && canvus.at(i).at(j - 1) == '.') {
          flag = false;
        }
      }
      j++;
    }
    i++;
  }
  if (flag) {
    cout << "Yes" << endl;
  } else {
    cout << "No" << endl;
  }
}
