#include <bits/stdc++.h>
using namespace std;
template <class T>
void read(T& x) {
  cin >> x;
}
void read(int& x) { scanf("%d", &x); }
void read(int64_t& x) { scanf("%lld", &x); }
void read(double& x) { scanf("%lf", &x); }
template <class T, class U, class... V>
void read(T& x, U& y, V&... z) {
  read(x);
  read(y, z...);
}
int main() {
  int h, w;
  read(h, w);
  vector<vector<char>> s(h + 2, vector<char>(w + 2, '.'));
  ios::sync_with_stdio(false);
  cin.tie(0);
  string tmp;
  for (int i = (1); i < (h + 1); ++i) {
    cin >> tmp;
    for (int j = (1); j < (w + 1); ++j) {
      s[i][j] = tmp[j - 1];
    }
  }
  for (int i = (1); i < (h + 1); ++i) {
    for (int j = (1); j < (w + 1); ++j) {
      if (s[i][j] == '#') {
        if (s[i - 1][j] == '.') {
          if (s[i][j - 1] == '.') {
            if (s[i][j + 1] == '.') {
              if (s[i + 1][j] == '.') {
                printf("No");
                return 0;
              }
            }
          }
        }
      }
    }
  }
  printf("Yes");
  return 0;
}
