#include <bits/stdc++.h>
using namespace std;
int main() {
  int h, w, flag, counter;
  flag = 0;
  counter = 0;
  cin >> h;
  cin >> w;
  char s[h][w];
  for (int a = 1; a <= h; a++) {
    for (int b = 1; b <= w; b++) {
      cin >> s[a][b];
    }
  }
  for (int c = 1; c <= h; c++) {
    for (int d = 1; d <= w; d++) {
      if (s[c][d] == '#') {
        counter++;
        if (c == 1 && d == 1) {
          if (s[1][2] == '#' || s[2][1] == '#') {
            flag++;
          }
        }
        if (c == 1 && d != 1 && d != w) {
          if (s[1][d - 1] == '#' || s[2][d] == '#' || s[1][d + 1] == '#') {
            flag++;
          }
        }
        if (c == 1 && d == w) {
          if (s[1][w - 1] == '#' || s[2][w] == '#') {
            flag++;
          }
        }
        if (c != 1 && c != h && d == 1) {
          if (s[c - 1][d] == '#' || s[c][2] == '#' || s[c + 1][d] == '#') {
            flag++;
          }
        }
        if (c != 1 && c != h && d == w) {
          if (s[c - 1][w] == '#' || s[c][w - 1] == '#' || s[c + 1][w] == '#') {
            flag++;
          }
        }
        if (c == h && d == 1) {
          if (s[h - 1][1] == '#' || s[h][2] == '#') {
            flag++;
          }
        }
        if (c == h && d != 1 && d != w) {
          if (s[h][d - 1] == '#' || s[h - 1][d] == '#' || s[h][d + 1] == '#') {
            flag++;
          }
        }
        if (c == h && d == w) {
          if (s[h - 1][w] == '#' || s[h][w - 1] == '#') {
            flag++;
          }
        }
        if (c != 1 && c != h && d != 1 && d != w) {
          if (s[c - 1][d] == '#' || s[c][d - 1] == '#' || s[c + 1][d] == '#' ||
              s[c][d + 1] == '#') {
            flag++;
          }
        }
      }
    }
  }
  if (flag == counter && counter != 0 && counter != 1) {
    cout << "Yes" << endl;
  } else {
    cout << "No" << endl;
  }
  return 0;
}
