#include <bits/stdc++.h>
using namespace std;
char mat[60][60];
int n, m;
void comprobar(int x, int y) {
  for (int k = 0; k < n; k++) {
    if (mat[k][x] != mat[k][y]) {
      cout << "No";
      exit(0);
    }
  }
}
int main() {
  scanf("%d%d", &n, &m);
  for (int i = 0; i < n; i++) {
    for (int j = 0; j < m; j++) {
      scanf(" %c", &mat[i][j]);
    }
  }
  for (int i = 0; i < n; i++) {
    for (int j = 0; j < m; j++) {
      if (mat[i][j] == '#') {
        for (int h = j + 1; h < m; h++) {
          if (mat[i][h] == '#') comprobar(j, h);
        }
      }
    }
  }
  cout << "Yes";
  return 0;
}
