#include <bits/stdc++.h>
using namespace std;
int main() {
  int H, W;
  cin >> H >> W;
  vector<vector<char>> s(H, vector<char>(W));
  for (int i = 0; i < H; ++i) {
    for (int j = 0; j < W; ++j) {
      cin >> s.at(i).at(j);
    }
  }
  bool flg = true;
  for (int i = 0; i < H; ++i) {
    for (int j = 0; j < W; ++j) {
      if (s.at(i).at(j) == '#') {
        int cnt = 0;
        for (int dx = -1; dx <= 1; dx += 2) {
          for (int dy = -1; dy <= 1; dy += 2) {
            int nx = i + dx, ny = j + dy;
            if (0 <= nx && nx < H && 0 <= ny && ny < W) {
              if (s.at(nx).at(ny) == '#') cnt++;
            }
          }
        }
        if (cnt == 0) {
          flg = false;
          break;
        }
      }
    }
    if (flg == false) break;
  }
  if (flg)
    cout << "No" << endl;
  else
    cout << "Yes" << endl;
}
