#include <bits/stdc++.h>
using namespace std;
bool solve(int h, int w) {
  vector<vector<char>> data(h, vector<char>(w));
  for (int i = 0; i < h; i++) {
    for (int j = 0; j < w; j++) {
      cin >> data.at(i).at(j);
    }
  }
  int dx[4] = {-1, 0, 1, 0};
  int dy[4] = {0, -1, 0, 1};
  for (int i = 0; i < h; i++) {
    for (int j = 0; j < w; j++) {
      if (data.at(i).at(j) == '#') {
        int k = 0;
        bool fin = true;
        while (fin) {
          if (i + dx[k] >= 0 && j + dy[k] >= 0 && i + dx[k] <= h &&
              j + dy[k] <= w) {
            if (data.at(i + dx[k]).at(j + dy[k]) == '#') {
              fin = false;
            }
            if (k == 3) {
              return false;
            }
          }
          k++;
        }
      }
    }
  }
  return true;
}
int main() {
  int H, W;
  cin >> H >> W;
  if (solve(H, W))
    cout << "Yes";
  else
    cout << "No";
}
