#include <bits/stdc++.h>
using namespace std;
void run();
signed main() {
  ios::sync_with_stdio(false);
  cin.tie(0);
  cout.tie(0);
  cout << fixed << setprecision(3);
  srand(42);
  run();
}
template <typename T1, typename T2>
bool mini(T1 &a, const T2 &b) {
  if (a > b) {
    a = b;
    return true;
  }
  return false;
}
template <typename T1, typename T2>
bool maxi(T1 &a, const T2 &b) {
  if (a < b) {
    a = b;
    return true;
  }
  return false;
}
const long long N = 52;
long long rcnt[N];
long long ccnt[N];
void run() {
  long long n, m;
  cin >> n >> m;
  set<long long> masks;
  for (long long i = 0; i < n; i++) {
    long long kek = 0;
    for (long long j = 0; j < m; j++) {
      char c;
      cin >> c;
      if (c == '#') kek |= (1LL << j);
    }
    masks.insert(kek);
  }
  for (auto it1 = masks.begin(); it1 != masks.end(); it1++) {
    auto it2 = it1;
    it2++;
    for (; it2 != masks.end(); it2++) {
      if ((*it1) & (*(it2))) {
        cout << "No";
        return;
      }
    }
  }
  cout << "Yes";
}
