#include <bits/stdc++.h>
using namespace std;
int main() {
  long long int h, w;
  cin >> h >> w;
  vector<vector<char>> s(h), t(h);
  for (int i = 0; i < h; i++) {
    vector<char> a(w);
    s[i] = a;
    t[i] = a;
    for (int j = 0; j < w; j++) {
      cin >> s[i][j];
      t[i][j] = '0';
    }
  }
  for (int i = 0; i < h; i++) {
    for (int j = 0; j < w - 1; j++) {
      if (s[i][j] == '#' && s[i][j + 1] == '#') {
        t[i][j] = t[i][j + 1] = '#';
      } else if (s[i][j] == '.') {
        t[i][j] = '.';
      } else if (s[i][j + 1] = '.') {
        t[i][j + 1] = '.';
      }
    }
  }
  for (int i = 0; i < h - 1; i++) {
    for (int j = 0; j < w; j++) {
      if (s[i][j] == '#' && s[i + 1][j] == '#') {
        t[i][j] = t[i + 1][j] = '#';
      } else if (s[i][j] == '.') {
        t[i][j] = '.';
      } else if (s[i + 1][j] = '.') {
        t[i + 1][j] = '.';
      }
    }
  }
  bool f = true;
  for (int i = 0; i < h; i++) {
    for (int j = 0; j < w; j++) {
      if (s[i][j] != t[i][j]) {
        f = false;
      }
    }
  }
  if (f) {
    cout << "Yes";
  } else {
    cout << "No";
  }
  return 0;
}
