#include <bits/stdc++.h>
using namespace std;
long long MOD = 1e9 + 7;
int INF = 1 << 30;
long long INFL = 1LL << 60;
int main() {
  int H, W;
  cin >> H >> W;
  vector<string> S(H + 2);
  for (int i = 1; i < H + 1; i++) {
    cin >> S.at(i);
  }
  for (int i = 1; i < H + 1; i++) {
    S.at(i) = '.' + S.at(i) + '.';
  }
  S.at(0) = S.at(1);
  S.at(H + 1) = S.at(1);
  for (long long i = 0; i < (W + 2); i++) {
    S.at(0).at(i) = '.';
    S.at(H + 1).at(i) = '.';
  }
  bool hantei = false;
  for (int i = 1; i < H + 1; i++) {
    for (int j = 1; j < W + 1; j++) {
      if (S.at(i - 1).at(j) == '#' || S.at(i + 1).at(j) == '#' ||
          S.at(i).at(j + 1) == '#' || S.at(i).at(j - 1) == '#') {
        hantei = true;
      } else {
        hantei = false;
        break;
      }
    }
  }
  if (hantei)
    cout << "Yes" << endl;
  else
    cout << "No" << endl;
}
