#include <bits/stdc++.h>
int main() {
  int H, K, flag = 0;
  scanf("%d %d", &H, &K);
  char s[H + 2][K + 2];
  for (int k = 0; k < K + 2; k++) {
    s[0][k] = '.';
    s[H + 1][k] = '.';
  }
  for (int k = 0; k < K + 2; k++) {
    s[k][0] = '.';
    s[k][K + 1] = '.';
  }
  for (int i = 1; i < H + 2; i++) {
    for (int k = 1; k < K + 2; k++) {
      scanf("%c", &s[i][k]);
    }
  }
  for (int i = 1; i < H; i++) {
    for (int k = 1; k < K; k++) {
      if (s[i][k] == '#') {
        if (s[i - 1][k] == '#' || s[i + 1][k] == '#' || s[i][k - 1] == '#' ||
            s[i][k + 1] == '#') {
        } else {
          flag = 1;
          break;
        }
      }
    }
  }
  if (flag == 1) {
    printf("No");
  } else {
    printf("Yes");
  }
  return 0;
}
