#include <bits/stdc++.h>
using namespace std;
bool check_next(int i, int j, vector<string> s) {
  bool exist_next = false;
  for (int x = -1; x <= 1; x++) {
    for (int y = -1; y <= 1; y++) {
      if (i + x < 0 || j + y < 0) continue;
      if (i + x >= s.size() || j + y >= s[i].size()) continue;
      if (x == 0 && y == 0) continue;
      if (x != 0 && y != 0) continue;
      if (s[i + x][j + y] == '#') exist_next = true;
    }
  }
  return exist_next;
}
int main() {
  int h, w;
  cin >> h >> w;
  vector<string> s(h);
  for (int i = 0; i < h; i++) cin >> s[i];
  bool ans = false;
  for (int i = 0; i < h; i++) {
    for (int j = 0; j < w; j++) {
      if (s[i][j] == '.') continue;
      ans = check_next(i, j, s);
    }
  }
  if (ans)
    cout << "Yes" << endl;
  else
    cout << "No" << endl;
}
