#include <bits/stdc++.h>
using namespace std;

#define EPS (1e-7)
#define INF (99999999999L)
#define PI (acos(-1))

#define FOR(i,a,n) for(int i=(a), i##_len=(n); i<i##_len; ++i)
#define REP(i,n) FOR(i,0,n)

#define whole(f,x,...) ([&](decltype((x)) whole) { return (f)(begin(whole), end(whole), ## __VA_ARGS__); })(x)

template<class T>bool chmax(T &a, const T &b) { if (a<b) { a=b; return 1; } return 0; }
template<class T>bool chmin(T &a, const T &b) { if (b<a) { a=b; return 1; } return 0; }

using ll = long long;

int dx[] = {0, 1, 0, -1};
int dy[] = {1, 0, -1, 0};

int main() {
  int h, w; cin >> h >> w;
  vector<string> s(h); REP(i,h) cin >> s[i];
  if (h == 1 && w == 1) {cout << "Yes" << endl; return 0;}
  REP(i,h) REP(j,w) {
    bool f = false
    REP(k,4) {
      int x = i+dx[i], y = j+dy[i];
      if (0 <= x&& x <h && 0 <= y && y < w) {
        if (s[x][y] == '#') f = true;
      }
    }
    if (!f) {
      cout << "No" << endl;
      return 0;
    }
  }
  cout << "Yes" << endl;
  return 0;
}
