#include <bits/stdc++.h>
using namespace std;
int main() {
  int x, y;
  char s[50][50];
  int i, j;
  cin >> x >> y;
  for (int k = 0; k <= y + 1; k++) {
    s[0][k] = '.';
  }
  for (i = 1; i <= x; i++) {
    s[i][0] = '.';
    for (j = 1; j <= y; j++) {
      cin >> s[i][j];
    }
    s[i][y + 1] = '.';
  }
  for (int k = 0; k <= y + 1; k++) {
    s[x + 1][k] = '.';
  }
  bool tf = true;
  for (int i = 1; i <= x; i++) {
    for (int j = 1; j <= y; j++) {
      if (s[i][j] == '.') continue;
      if (s[i][j - 1] != '#' && s[i][j + 1] != '#' && s[i - 1][j] != '#' &&
          s[i + 1][j] != '#') {
        tf = false;
      }
    }
  }
  if (tf)
    cout << "Yes" << endl;
  else
    cout << "No" << endl;
  return 0;
}
