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