#include <bits/stdc++.h>
#pragma comment(linker, "/stack:200000000")
#pragma GCC optimize("Ofast")
#pragma GCC target("sse,sse2,sse3,ssse3,sse4,popcnt,abm,mmx,avx,tune=native")
using namespace std;
char a[52][52];
long long n, m;
vector<long long> col[52], row[52];
signed main() {
  ios_base::sync_with_stdio(false);
  cin.tie(NULL);
  cout.tie(NULL);
  cin >> n >> m;
  long long i, j;
  for (i = 1; i <= n; ++i) {
    for (j = 1; j <= m; ++j) cin >> a[i][j];
  }
  for (i = 1; i <= m; ++i) {
    for (j = 1; j <= n; ++j) {
      if (a[j][i] == '#') {
        col[i].push_back(j);
        row[j].push_back(i);
      }
    }
  }
  vector<long long> v;
  v.clear();
  for (i = 1; i <= n; ++i) {
    v.clear();
    for (j = 1; j <= m; ++j) {
      if (a[i][j] == '#') {
        if (v.size() == 0)
          v = col[j];
        else if (v != col[j]) {
          cout << "No";
          exit(0);
        }
      }
    }
  }
  cout << "Yes";
  return 0;
}
