#include <bits/stdc++.h>
using namespace std;
int main() {
  int h, w;
  cin >> h >> w;
  vector<string> a;
  string x;
  for (int i = 0; i < h; i++) {
    cin >> x;
    a.push_back(x);
  }
  bool f[100][100] = {};
  for (int i = 0; i < h; i++) {
    for (int j = 0; j < w; j++) {
      if (a[i][j] == '#') {
        if (!j && a[i][j + 1] == '.')
          f[i][j] = 1;
        else if (j == w - 1 && a[i][j - 1] == '.')
          f[i][j] = 1;
        else if ((j && j < w - 1) &&
                 (a[i][j - 1] == a[i][j + 1] && a[i][j + 1] == '.'))
          f[i][j] = 1;
      }
    }
  }
  for (int i = 0; i < w; i++) {
    for (int j = 0; j < h; j++) {
      if (a[j][i] == '#') {
        if (!j && a[j + 1][i] == '.') {
          if (f[j][i]) {
            cout << j << "%" << i;
            cout << "No" << endl;
            return 0;
          }
        } else if (j == h - 1 && a[j - 1][i] == '.') {
          if (f[j][i]) {
            cout << "No" << endl;
            return 0;
          }
        } else if ((j && j < h - 1) && (a[j - 1][i] == a[j + 1][i] &&
                                        a[j + 1][i] == '.' && f[j][i])) {
          cout << "No" << endl;
          return 0;
        }
      }
    }
  }
  cout << "Yes" << endl;
  return 0;
}
