#include <bits/stdc++.h>
using namespace std;
int usedc[55], usedr[55], n, m;
char a[55][55];
int main() {
  memset(usedr, 0, sizeof(usedr));
  memset(usedc, 0, sizeof(usedc));
  cin >> n >> m;
  for (int i = 1; i <= n; i++) {
    for (int j = 1; j <= m; j++) {
      cin >> a[i][j];
    }
  }
  for (int i = 1; i <= n; i++) {
    for (int j = 1; j <= m; j++) {
      memset(usedr, 0, sizeof(usedr));
      memset(usedc, 0, sizeof(usedc));
      if (a[i][j] == '#') {
        usedr[i] = 1;
        usedc[j] = 1;
        for (int l = 1; l <= n; l++) {
          if (a[l][j] == '#') {
            usedr[l] = 1;
            for (int k = 1; k <= m; k++) {
              if (a[l][k] == '#') {
                usedc[k] = 1;
              }
            }
          }
        }
        for (int l = 1; l <= n; l++) {
          for (int k = 1; k <= m; k++) {
            if (usedr[l] == 1 && usedc[k] == 1) {
              if (a[l][k] != '#') {
                cout << "No";
                return 0;
              }
            }
          }
        }
      }
    }
  }
  cout << "Yes";
}
