#include <bits/stdc++.h>
using namespace std;
int main() {
  int H, W;
  cin >> H >> W;
  vector<vector<char>> S(W + 2, vector<char>(H + 2));
  for (int i = 0; i < W + 2; i++) {
    S[0][i] = '.';
  }
  for (int i = 0; i < H; i++) {
    S[i][0] = '.';
    for (int j = 1; j < W + 1; j++) {
      cin >> S[i][j];
    }
    S[i][W + 1] = '.';
  }
  for (int i = 0; i < W + 2; i++) {
    S[H + 1][i] = '.';
  }
  vector<int> dx = {-1, 0, 1, 0};
  vector<int> dy = {0, -1, 0, 1};
  bool flag = true;
  for (int i = 1; i < H + 1; i++) {
    for (int j = 1; j < W + 1; j++) {
      if (S[i][j] == '#') {
        for (int k = 0; k < 4; k++) {
          if (S[i + dx[k]][j + dy[k]] == '#') {
            flag = false;
            break;
          }
        }
        if (flag) {
          cout << "No" << endl;
          return 0;
        } else {
          flag = true;
        }
      }
    }
  }
  cout << "Yes" << endl;
}
