#include <bits/stdc++.h>
int main() {
  int H, W;
  int p, q;
  int i, j;
  int N = 0;
  int Flag = 0;
  int rslt = 0;
  char result[3];
  scanf("%d %d", &H, &W);
  int F[H + 2][W + 2];
  char tmp[W];
  for (i = 0; i < H + 2; i++) {
    for (j = 0; j < W + 2; j++) {
      F[i][j] = '.';
    }
  }
  for (i = 1; i < H + 1; i++) {
    scanf("%s", tmp);
    for (j = 1; j < W + 1; j++) {
      F[i][j] = tmp[j];
    }
  }
  for (i = 0; i < H + 2; i++) {
    for (j = 0; j < W + 2; j++) {
      if (F[i][j] == '#') {
        if (F[i][j - 1] == '.') Flag++;
        if (F[i][j + 1] == '.') Flag++;
        if (F[i + 1][j] == '.') Flag++;
        if (F[i - 1][j] == '.') Flag++;
        if (Flag == 4) rslt = 1;
        Flag = 0;
        N++;
      }
    }
  }
  if (rslt == 1) {
    printf("No");
  } else {
    printf("Yes");
  }
  return 0;
}
