#include <bits/stdc++.h>
using namespace std;
int h, w;
bool a[155][155];
char c[155][155];
void dfs(int x, int y) {
  a[x][y] = true;
  for (int i = 0; i < h; i++)
    for (int j = 0; j < w; j++) {
      if ((x == i || y == j) && a[i][j] == false && c[i][j] == '#') dfs(i, j);
    }
}
int main() {
  int ax = 100000, by = 100000;
  cin >> h >> w;
  for (int i = 0; i < h; i++)
    for (int j = 0; j < w; j++) {
      cin >> c[i][j];
      if (c[i][j] == '.')
        a[i][j] = true;
      else {
        ax = i;
        by = j;
      }
    }
  if (ax == 100000 && by == 100000) {
    cout << "No";
    system("pause");
    exit(0);
  }
  dfs(ax, by);
  for (int i = 0; i < h; i++)
    for (int j = 0; j < w; j++) {
      if (a[i][j] == false) {
        cout << "No";
        system("pause");
        return 0;
      }
    }
  cout << "Yes";
  system("pause");
  return 0;
}
