#include <bits/stdc++.h>
using namespace std;
string s[55];
set<int> r, c;
int main() {
  int n, m;
  cin >> n >> m;
  for (int i = 0; i < n; i++) cin >> s[i];
  for (int i = 0; i < n; i++) {
    vector<int> v, v1;
    for (int j = 0; j < m; j++)
      if (s[i][j] == '#') {
        s[i][j] = '.';
        v.push_back(j);
      }
    if (v.size() == 0) continue;
    v1.push_back(i);
    for (int i1 = i + 1; i1 < n; i1++) {
      int j1 = v[0];
      if (s[i1][j1] == '#') {
        v1.push_back(i1);
        for (auto j1 : v)
          if (s[i1][j1] != '#') {
            cout << "No";
            return 0;
          } else
            s[i1][j1] = '.';
      }
    }
    for (auto j1 : v)
      if (c.count(j1)) {
        cout << "No";
        return 0;
      } else
        c.insert(j1);
    for (auto i1 : v1)
      if (r.count(i1)) {
        cout << "No";
        return 0;
      } else
        r.insert(i1);
  }
  cout << "Yes";
  return 0;
}
