#include <bits/stdc++.h>
using namespace std;
using ll = long long;
int main() {
  cin.tie(nullptr);
  ios::sync_with_stdio(false);
  int h, w;
  cin >> h >> w;
  vector<string> grid;
  for (auto& l : grid) cin >> l;
  auto solve = [&]() {
    constexpr int dir[4][2]{
        {1, 0},
        {0, 1},
        {-1, 0},
        {0, -1},
    };
    for (int i = 0; i < h; i++) {
      for (int j = 0; j < w; j++) {
        if (grid[i][j] == '.') continue;
        bool ok = false;
        for (auto [dx, dy] : dir) {
          int x = i + dx, y = j + dy;
          if (x < 0 or x >= h or y < 0 or y >= w) continue;
          ok |= grid[x][y] == '#';
        }
        if (!ok) {
          return false;
        }
      }
    }
    return true;
  };
  cout << (solve() ? "Yes" : "No") << endl;
  return 0;
}
