#include <bits/stdc++.h>
int main() {
  char p[60][60];
  int a, b, i, j, k = 0;
  scanf("%d %d", &a, &b);
  getchar();
  for (i = 1; i <= a; i++) {
    for (j = 1; j <= b; j++) scanf("%c", &p[i][j]);
    getchar();
  }
  if (a == 1 && b == 1) {
    if (p[1][1] == '#')
      printf("Yes");
    else
      printf("No");
  } else if (a == 1) {
    for (j = 1; j <= b; j++) {
      if (j == 1) {
        if (p[1][1] == '#' && p[1][2] != '#') {
          k = 1;
          break;
        }
      } else if (j == b) {
        if (p[1][b] == '#' && p[1][b - 1] != '#') {
          k = 1;
          break;
        }
      } else {
        if (p[1][j] == '#' && p[1][j - 1] != '#' && p[1][j + 1] != '#') {
          k = 1;
          break;
        }
      }
    }
  } else if (b == 1) {
    for (i = 1; i <= a; i++) {
      if (i == 1) {
        if (p[1][1] == '#' && p[2][1] != '#') {
          k = 1;
          break;
        }
      } else if (i == a) {
        if (p[a][1] == '#' && p[a - 1][1] != '#') {
          k = 1;
          break;
        }
      } else {
        if (p[i][1] == '#' && p[i - 1][1] != '#' && p[i + 1][1] != '#') {
          k = 1;
          break;
        }
      }
    }
  } else {
    for (i = 1; i <= a; i++) {
      for (j = 1; j <= b; j++) {
        if (i == 1) {
          if (j == 1) {
            if (p[1][1] == '#' && p[1][2] != '#' && p[2][1] != '#') {
              k = 1;
              break;
            }
          } else if (j == b) {
            if (p[1][b] == '#' && p[1][b - 1] != '#' && p[2][b] != '#') {
              k = 1;
              break;
            }
          } else {
            if (p[1][j] == '#' && p[1][j - 1] != '#' && p[1][j + 1] != '#' &&
                p[2][j] != '#') {
              k = 1;
              break;
            }
          }
        } else if (i == a) {
          if (j == 1) {
            if (p[a][1] == '#' && p[a][2] != '#' && p[a - 1][1] != '#') {
              k = 1;
              break;
            }
          } else if (j == b) {
            if (p[a][b] == '#' && p[a][b - 1] != '#' && p[a - 1][b] != '#') {
              k = 1;
              break;
            }
          } else {
            if (p[a][j] == '#' && p[a][j - 1] != '#' && p[a][j + 1] != '#' &&
                p[a - 1][j] != '#') {
              k = 1;
              break;
            }
          }
        } else {
          if (j == 1) {
            if (p[i][1] == '#' && p[i][2] != '#' && p[i - 1][1] != '#' &&
                p[i + 1][1] != '#') {
              k = 1;
              break;
            }
          } else if (j == b) {
            if (p[i][b] == '#' && p[i][b - 1] != '#' && p[i - 1][b] != '#' &&
                p[i + 1][b]) {
              k = 1;
              break;
            }
          } else {
            if (p[i][j] == '#' && p[i][j - 1] != '#' && p[i][j + 1] != '#' &&
                p[i - 1][j] != '#' && p[i + 1][j] != '#') {
              k = 1;
              break;
            }
          }
        }
      }
      if (k == 1) break;
    }
  }
  if (k == 1)
    printf("No");
  else
    printf("Yes");
  return 0;
}
