#include <bits/stdc++.h>
using namespace std;
const int N = 101010;
char g[105][105];
int dir[4][2] = {0, 1, 0, -1, 1, 0, -1, 0};
int cnt = 0;
int n, m;
void dfs(int x, int y) {
  if (x >= n || y >= n || x < 0 || y < 0) return;
  if (g[x][y] == '.') return;
  g[x][y] = '.';
  for (int i = 0; i < (4); ++i) {
    int xx = x + dir[i][0];
    int yy = y + dir[i][1];
    if (g[xx][yy] == '#') dfs(xx, yy);
  }
}
int main() {
  cin >> n >> m;
  for (int i = 0; i < (n); ++i) scanf("%s", g[i]);
  for (int i = 0; i < (n); ++i)
    for (int j = 0; j < (n); ++j)
      if (g[i][j] == '#') {
        dfs(i, j);
        cnt++;
      }
  if (cnt <= n)
    printf("Yes\n");
  else
    printf("No\n");
  return 0;
}
