#include <bits/stdc++.h>
using namespace std;
int main() {
  int x, y, i, j;
  char a[55][55];
  while (scanf("%d%d", &x, &y) == 2) {
    for (i = 0; i < x; i++) {
      for (j = 0; j < y; j++) scanf("%c", &a[i][j]);
      getchar();
    }
    int flag = 1;
    for (i = 0; i < x; i++) {
      for (j = 0; j < y; j++) {
        if (a[i][j] == '#') {
          if (i == 0 && j == 0) {
            if ((a[i + 1][j] == a[i][j + 1]) && (a[i + 1][j] == '.')) {
              flag = 0;
              break;
            }
          } else if (i == 0 && (j > 0 && j < y - 1)) {
            if ((a[i][j - 1] == a[i + 1][j]) && (a[i + 1][j] == a[i][j + 1]) &&
                (a[i][j + 1] == '.')) {
              flag = 0;
              break;
            }
          } else if ((i == 0) && (j == y - 1)) {
            if ((a[i][j - 1] == a[i + 1][j]) && (a[i][j - 1] == '.')) {
              flag = 0;
              break;
            }
          } else if ((i > 0 && i < x - 1) && j == 0) {
            if ((a[i - 1][j] == a[i + 1][j]) && (a[i - 1][j] == a[i][j + 1]) &&
                (a[i - 1][j] == '.')) {
              flag = 0;
              break;
            }
          } else if ((i > 0 && i < x - 1) && (j > 0 && j < y - 1)) {
            if ((a[i][j - 1] == a[i][j + 1]) && (a[i][j + 1] == a[i - 1][j]) &&
                (a[i][j + 1] == a[i + 1][j]) && (a[i][j + 1] == '.')) {
              flag = 0;
              break;
            }
          } else if ((i > 0 && i < x - 1) && (j == y - 1)) {
            if ((a[i - 1][j] == a[i + 1][j]) && (a[i + 1][j] == a[i][j - 1]) &&
                (a[i + 1][j] == '.')) {
              flag = 0;
              break;
            }
          } else if (i == x - 1 && (j == 0)) {
            if ((a[i - 1][j] == a[i][j + 1]) && (a[i - 1][j] == '.')) {
              flag = 0;
              break;
            }
          } else if ((i == x - 1) && (j > 0 && j < y - 1)) {
            if ((a[i][j - 1] == a[i][j + 1]) && (a[i][j + 1] == a[i - 1][j]) &&
                (a[i][j + 1] == '.')) {
              flag = 0;
              break;
            }
          } else if ((i == x - 1) && (j == y - 1)) {
            if ((a[i - 1][j] == a[i][j - 1]) && (a[i - 1][j] == '.')) {
              flag = 0;
              break;
            }
          }
        }
      }
    }
    if (flag == 1)
      printf("Yes\n");
    else if (flag == 0)
      printf("No\n");
  }
  return 0;
}
