#include <bits/stdc++.h>
using namespace std;
int main() {
  int n, k;
  cin >> n >> k;
  vector<vector<bool> > m(n, vector<bool>(k));
  for (int x = 0; x < n; x++) {
    for (int y = 0; y < k; y++) {
      char c;
      cin >> c;
      m[x][y] = c == '#';
    }
  }
  for (int x = 0; x < n; x++) {
    for (int y = 0; y < k; y++) {
      if (!m[x][y]) {
        continue;
      }
      for (int z = 0; z < n; z++) {
        if (!m[z][y]) {
          continue;
        }
        for (int d = 0; d < k; d++) {
          if (m[x][d] ^ m[z][d]) {
            cout << "No";
            return 0;
          }
        }
      }
    }
  }
  cout << "Yes";
}
