#include <bits/stdc++.h>
using namespace std;
const int N = 51;
char a[N][N];
bool usedR[N], usedC[N];
int main() {
  int n, m;
  scanf("%d %d\n", &n, &m);
  for (int i = 1; i <= n; ++i) {
    for (int j = 1; j <= m; ++j) {
      scanf("%c", &a[i][j]);
    }
    scanf("\n");
  }
  string ans = "Yes";
  for (int j = 1; j <= m; ++j) {
    if (!usedC[j]) {
      for (int i = 1; i <= n; ++i) {
        if (a[i][j] == '#') {
          if (usedR[i]) {
            ans = "No";
            break;
          } else {
            usedR[i] = true;
          }
        }
      }
      usedC[j] = true;
      for (int t = j + 1; t <= m; ++t) {
        bool isEqual = true;
        for (int k = 1; k <= n; ++k) {
          if (a[k][j] != a[k][t]) {
            isEqual = false;
            break;
          }
        }
        if (isEqual) {
          usedC[t] = true;
        }
      }
    }
  }
  cout << ans << endl;
  return 0;
}
