#include <bits/stdc++.h>
using namespace std;
const int MAXN = 55;
int a[MAXN], b[MAXN];
string s[MAXN];
int n, m;
int ans;
bool f(int x, int y) {
  for (int i = 1; i <= n; ++i)
    if (s[i][x - 1] != s[i][y - 1]) return 0;
  return 1;
}
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(NULL);
  cout.tie(NULL);
  cin >> n >> m;
  for (int i = 1; i <= n; ++i) {
    cin >> s[i];
    for (int j = 1; j <= m; ++j) {
      ans += s[i][j - 1] == '#';
    }
  }
  for (int i = 1; i <= n; ++i)
    for (int j = 1; j <= m; ++j)
      for (int k = 1; k <= n; ++k)
        if (s[i][j - 1] == '#' && s[k][j - 1] == '#' && s[i] != s[k])
          return cout << "No\n", 0;
  for (int i = 1; i <= m; ++i)
    for (int j = 1; j <= n; ++j)
      for (int k = 1; k <= m; ++k)
        if (s[j][i - 1] == s[j][k - 1] && s[j][i - 1] == '#' && !f(i, k))
          return cout << "No\n", 0;
  cout << "Yes\n";
  return 0;
}
