#include <bits/stdc++.h>
using namespace std;
int main() {
  int h, w;
  cin >> h >> w;
  char field[h][w];
  for (int i = 0; i < h; i++) {
    cin >> field[i];
  }
  int X[4] = {-1, 0, 1, 0};
  int Y[4] = {0, -1, 0, 1};
  bool can = false;
  bool res = true;
  bool sharp = false;
  for (int i = 0; i < h; i++) {
    for (int j = 0; j < w; j++) {
      if (field[i][j] == '#') {
        sharp = true;
        can = false;
        for (int k = 0; k < 4; k++) {
          if (can) continue;
          int x = j + X[k];
          int y = i + Y[k];
          if (-1 < x && x < w && -1 < y && y < h) {
            if (field[y][x] == '#') can = true;
          }
        }
        if (can == false) {
          res = false;
          break;
        }
      }
    }
    if (res == false) break;
  }
  if (sharp && res)
    cout << "Yes" << endl;
  else if (sharp && !res)
    cout << "No" << endl;
  else if (!sharp)
    cout << "No" << endl;
  return 0;
}
