#include <bits/stdc++.h>
using namespace std;
int dx[4] = {1, 0, -1, 0};
int dy[4] = {0, 1, 0, -1};
char masu[50][50];
bool visited[50][50];
int h, w;
void solve(int x, int y) {
  if (0 <= x && x < w && 0 <= y && y < h && visited[y][x] == false) {
    if (masu[y][x] == '#') {
      visited[y][x] = true;
      masu[y][x] == '.';
      for (int i = 0; i < 4; i++) {
        solve(x + dx[i], y + dy[i]);
      }
    }
  }
}
int main() {
  bool flag = false;
  cin >> h >> w;
  int sx, sy;
  for (int i = 0; i < h; i++) {
    for (int j = 0; j < w; j++) {
      cin >> masu[i][j];
      if (masu[i][j] == '#') {
        sx = j;
        sy = i;
      }
    }
  }
  solve(sx, sy);
  for (int i = 0; i < h; i++) {
    for (int j = 0; j < w; j++) {
      if (masu[i][j] == '#') {
        flag = true;
        break;
      }
    }
  }
  if (flag) {
    cout << "No" << endl;
  } else {
    cout << "Yes" << endl;
  }
  return 0;
}
