#include <bits/stdc++.h>
using namespace std;
const long long INF = (1ll << 60);
const long long MOD = (long long)1e9 + 7;
signed main() {
  long long h, w;
  long long arr[50][50] = {};
  string s[50];
  bool f = true;
  vector<pair<long long, long long>> v;
  v.push_back(make_pair(-1, 0));
  v.push_back(make_pair(0, -1));
  v.push_back(make_pair(1, 0));
  v.push_back(make_pair(0, 1));
  cin >> h >> w;
  for (long long i = 0; i < h; i++) cin >> s[i];
  for (long long i = 0; i < h; i++) {
    for (long long j = 0; j < w; j++) {
      arr[i][j] = (s[i])[j];
    }
  }
  for (long long i = 0; i < h; i++) {
    for (long long j = 0; j < w; j++) {
      bool ff = false;
      for (long long k = 0; k < 4; k++) {
        long long tmp_x = j + v[k].first;
        long long tmp_y = i + v[k].second;
        if (arr[tmp_y][tmp_x] == '.') {
          ff = true;
          break;
        }
        if (tmp_x < 0 || tmp_y < 0 || tmp_x >= w || tmp_y >= h) continue;
        if (arr[tmp_y][tmp_x] == '#') ff = true;
      }
      if (ff == false) {
        f = false;
      }
    }
  }
  if (f)
    cout << "Yes" << endl;
  else
    cout << "No" << endl;
}
