#include <bits/stdc++.h>
using namespace std;
const int LN = 100;
int N, M, pf;
char mapa[LN][LN], c[LN];
bool cc, cf[LN];
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(NULL);
  ;
  cin >> N >> M;
  for (int i = 0; i < N; i++) cin >> mapa[i];
  for (int i = 0; i < N; i++) {
    cc = false;
    pf = 0;
    for (int j = 0; j < M; j++) {
      if (mapa[i][j] == '.') continue;
      if (cc) {
        for (int k = 0; k < N; k++) {
          if (mapa[k][j] != c[k]) {
            cout << "No";
            return 0;
          }
          if (k != i && mapa[k][j] == '#') cf[k] = true;
        }
      } else {
        cc = true;
        for (int k = 0; k < N; k++) {
          c[k] = mapa[k][j];
          if (c[k] == '#') cf[k] = true;
        }
      }
    }
    for (int k = 0; k < pf; k++) {
      if (!cf[k]) continue;
      for (int j = 0; j < N; j++) {
        if (mapa[i][j] != mapa[cf[k]][j]) {
          cout << "No";
          return 0;
        }
      }
      cf[k] = false;
    }
  }
  cout << "Yes";
  return 0;
}
