#include <bits/stdc++.h>
using namespace std;
int main(void) {
  int h, w;
  cin >> h >> w;
  vector<string> S(h);
  for (int i = 0; i < h; i++) cin >> S[i];
  bool ans = true;
  int A[4] = {-1, 0, 1, 0};
  int B[4] = {0, 1, 0, -1};
  bool breakflg = false;
  for (int i = 0; i < h; i++) {
    for (int j = 0; j < w; j++) {
      if (S[i][j] == '#') {
        bool flg = false;
        if (i != 0 && S[i + A[0]][j + B[0]] == '#') flg = true;
        if (j != w - 1 && S[i + A[1]][j + B[1]] == '#') flg = true;
        if (i != h - 1 && S[i + A[2]][j + B[2]] == '#') flg = true;
        if (j != 0 && S[i + A[3]][j + B[3]] == '#') flg = true;
        if (!flg) {
          ans = false;
          breakflg = true;
          break;
        }
      }
    }
    if (!breakflg) break;
  }
  if (ans)
    cout << "Yes" << endl;
  else
    cout << "No" << endl;
}
