#include <bits/stdc++.h>
using namespace std;
int main() {
  int H, W;
  vector<vector<int>> grid;
  string line;
  cin >> H >> W;
  grid.resize(H);
  for (int i = 0; i < H; i++) {
    cin >> line;
    for (int j = 0; j < W; j++) {
      if (line[j] == '#') {
        grid[i].push_back(1);
      } else {
        grid[i].push_back(0);
      }
    }
  }
  bool isOK = false;
  for (int i = 0; i < H; i++) {
    for (int j = 0; j < W; j++) {
      if (grid[i][j] == 1) {
        if (i > 0 && grid[i - 1][j] == 1) {
          isOK = true;
        }
        if (i < H - 1 && grid[i + 1][j] == 1) {
          isOK = true;
        }
        if (j > 0 && grid[i][j - 1] == 1) {
          isOK = true;
        }
        if (j < W - 1 && grid[i][j + 1] == 1) {
          isOK = true;
        }
        if (isOK == false) {
          cout << "No" << endl;
          return 0;
        }
      }
    }
  }
  cout << "Yes" << endl;
  return 0;
}
