#include <bits/stdc++.h>
using namespace std;
bool check(string a) {
  for (int i = 0; i < a.length(); ++i)
    if (a[i] == '#') return true;
  return false;
}
string s[60];
bool del[60];
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) {
    if (del[i] && !check(s[i])) continue;
    for (int j = i + 1; j < n; ++j) {
      if (!check(s[j])) continue;
      bool neriv = false, riv = false;
      for (int k = 0; k < m; ++k)
        if (s[i][k] == '#' && s[j][k] == '#')
          riv = true;
        else if (s[j][k] == '#')
          neriv = true;
        else if (s[i][k] == '#')
          neriv = true;
      if (riv && neriv) {
        cout << "No\n";
        return 0;
      }
      if (riv) del[j] = true;
    }
  }
  cout << "Yes\n";
}
