#include <bits/stdc++.h>
using namespace std;
using ull = unsigned long long;
using ll = long long;
struct __INIT {
  __INIT() {
    cin.tie(0);
    ios::sync_with_stdio(false);
    cout << fixed << setprecision(15);
  }
} __init;
int main() {
  int H, W;
  cin >> H >> W;
  vector<vector<char>> M(H, vector<char>(W));
  for (int i = 0; i < H; i++) {
    for (int j = 0; j < W; j++) cin >> M[i][j];
  }
  vector<vector<char>> Me(H + 1, vector<char>(W + 1));
  for (int i = 1; i < H + 1; i++) {
    for (int j = 1; j < W + 1; j++) {
      Me[i][j] = M[i - 1][j - 1];
    }
  }
  for (int i = 1; i < H + 1; i++) {
    for (int j = 1; j < W + 1; j++) {
      if (M[i][j] == '#') {
        if (M[i - 1][j] == '.' and M[i][j - 1] == '.' and M[i][j + 1] == '.' and
            M[i + 1][j] == '.') {
          puts("No");
          return 0;
        }
      }
    }
  }
  puts("Yes");
}
