#include <bits/stdc++.h>
using namespace std;
long long mod = 1e9 + 7;
int h, w;
char field[72][72];
int dy[4] = {0, 0, 1, -1};
int dx[4] = {1, -1, 0, 0};
bool ans = true;
bool flag = false;
void dfs(int x, int y) {
  field[x][y] = '.';
  for (int i = 0; i < 4; i++) {
    int nx = x + dx[i];
    int ny = y + dy[i];
    if (0 <= nx && nx < w && 0 <= ny && ny < h && field[nx][ny] == '#') {
      flag = true;
      dfs(nx, ny);
    }
  }
  if (!flag) {
    ans = false;
  }
  return;
}
int main() {
  cin.tie(0);
  ios::sync_with_stdio(false);
  cin >> h >> w;
  for (int i = 0; i < h; ++i) {
    for (int j = 0; j < w; ++j) {
      cin >> field[j][i];
    }
  }
  for (int i = 0; i < w; i++) {
    for (int j = 0; j < h; ++j) {
      if (field[i][j] == '#') {
        dfs(i, j);
      }
    }
  }
  if (ans) {
    cout << "Yes" << endl;
  } else {
    cout << "No" << endl;
  }
  return 0;
}
