#include <bits/stdc++.h>
using namespace std;
const long long mod = 1000000007;
const long long LINF = 1LL << 60;
const int INF = 1 << 30;
int main() {
  int H, W;
  char l;
  cin >> H >> W;
  vector<vector<char>> v(H, vector<char>(W));
  for (int i = 0; i < H; i++) {
    for (int j = 0; j < W; j++) {
      cin >> l;
      v[i][j] = l;
    }
  }
  int flag = 0;
  for (int i = 0; i < H; i++) {
    for (int j = 0; j < W; j++) {
      if (v[i][j] == '#') {
        flag = 0;
        if (i - 1 >= 0 && i - 1 < H) {
          if (v[i - 1][j] == '#') {
            flag = 1;
          }
        }
        if (i + 1 >= 0 && i + 1 < H) {
          if (v[i + 1][j] == '#') {
            flag = 1;
          }
        }
        if (j - 1 >= 0 && j - 1 < W) {
          if (v[i][j - 1] == '#') {
            flag = 1;
          }
        }
        if (j + 1 >= 0 && j + 1 < W) {
          if (v[i][j + 1] == '#') {
            flag = 1;
          }
        }
        if (flag == 0) {
          break;
        }
      } else {
        flag = 1;
      }
      if (flag == 0) {
        break;
      }
    }
  }
  if (flag == 0) {
    cout << "No" << endl;
  } else {
    cout << "Yes" << endl;
  }
  return 0;
}
