#include <bits/stdc++.h>
using namespace std;
int n, m;
char ara[100][100];
int fr[100], fc[100];
vector<int> r, c;
int pr;
void row(int j);
void col(int j) {
  fc[j] = 1;
  c.push_back(j);
  for (int i = 0; i < n; i++)
    if (ara[i][j] == '#')
      if (fr[i] == 0) row(i);
}
void row(int i) {
  fr[i] = 1;
  r.push_back(i);
  for (int j = 0; j < m; j++)
    if (ara[i][j] == '#')
      if (fc[j] == 0) col(j);
}
int check() {
  for (int i = 0; i < r.size(); i++) {
    for (int j = 0; j < c.size(); j++) {
      if (ara[r[i]][c[j]] == '.') return 1;
    }
  }
  return 0;
}
int main() {
  cin >> n >> m;
  for (int i = 0; i < n; i++) {
    for (int j = 0; j < m; j++) {
      cin >> ara[i][j];
    }
  }
  for (int j = 0; j < m; j++) {
    if (fc[j] == 0) {
      pr++;
      c.clear();
      r.clear();
      col(j);
      if (check()) {
        cout << "No\n";
        return 0;
      }
    }
  }
  cout << "Yes\n";
  return 0;
}
