#include <bits/stdc++.h>
using namespace std;
const long long Mx = 1e6 + 1;
long long n, m, i, j, l, r, col;
char c[100][100];
bool f[100][100];
string s[100];
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(0);
  cin >> n >> m;
  for (i = 0; i < n; ++i) {
    cin >> s[i];
  }
  for (i = 0; i < n; ++i) {
    for (j = i + 1; j < n; ++j) {
      if (s[i] != s[j]) {
        int i1;
        for (i1 = 0; i1 < m; ++i1) {
          if (s[i][i1] == s[j][i1] && s[i][i1] == '#') {
            cout << "No" << endl;
            return 0;
          }
        }
      }
    }
  }
  for (i = 0; i < m; ++i) {
    for (j = i + 1; j < m; ++j) {
      int i1;
      for (i1 = 0; i1 < n; ++i1) {
        if (s[i1][i] != s[i1][j]) break;
      }
      if (i1 != n) {
        for (i1 = 0; i1 < n; ++i1) {
          if (s[i1][i] == s[i1][j] && s[i1][j] == '#') {
            cout << "No" << endl;
            return 0;
          }
        }
      }
    }
  }
  cout << "Yes" << endl;
  return 0;
}
