#include <bits/stdc++.h>
using namespace std;
char map[10001][10001];
int book[10001][10001];
int cnt = 0;
int ans = 0;
int h, w;
void dfs(int x, int y) {
  if (book[x][y] == 0)
    book[x][y] = 1;
  else
    return;
  if (x < 0 || y < 0 || x >= h || y >= w) return;
  if (map[x][y] == '#')
    ans++;
  else
    return;
  dfs(x + 1, y);
  dfs(x - 1, y);
  dfs(x, y + 1);
  dfs(x, y - 1);
}
int main() {
  cin >> h >> w;
  for (int i = 0; i < h; i++)
    for (int j = 0; j < w; j++) {
      cin >> map[i][j];
      if (map[i][j] == '#') cnt++;
      book[i][j] = 0;
    }
  int x, y;
  bool flage = false;
  for (int i = 0; i < h; i++) {
    for (int j = 0; j < w; j++) {
      if (map[i][j] == '#') {
        x = i;
        y = j;
        flage = true;
        break;
      }
    }
    if (flage) break;
  }
  dfs(x, y);
  if (cnt == ans)
    cout << "Yes" << endl;
  else
    cout << "No" << endl;
}
