#include <bits/stdc++.h>
using namespace std;
int main() {
  int H, W;
  cin >> H >> W;
  string matrix[H];
  for (int i = 0; i < H; i++) {
    cin >> matrix[i];
  }
  for (int i = 0; i < H; i++) {
    string::size_type index = -1;
    while (true) {
      index = matrix[i].find("#", index + 1);
      if (index == string::npos) {
        break;
      }
      bitset<4> bitset = {0};
      if (index > 0) {
        if (matrix[i][index - 1] == '.') {
          bitset.set(0);
        }
      } else {
        bitset.set(0);
      }
      if (index < W - 1) {
        if (matrix[i][index + 1] == '.') {
          bitset.set(1);
        }
      } else {
        bitset.set(1);
      }
      if (i > 0) {
        if (matrix[i - 1][index] == '.') {
          bitset.set(2);
        }
      } else {
        bitset.set(2);
      }
      if (i < H - 1) {
        if (matrix[i + 1][index] == '.') {
          bitset.set(3);
        }
      } else {
        bitset.set(3);
      }
      if (bitset.all()) {
        cout << "No\n";
        return 0;
      }
    }
  }
  cout << "Yes\n";
  return 0;
}
