#include <bits/stdc++.h>
using namespace std;
int main() {
  int H, W;
  cin >> H >> W;
  vector<string> data(H + 2);
  string emp = "";
  for (int i = 0; i < (int)(W + 2); i++) {
    emp.push_back('.');
  }
  data.at(0) = emp;
  data.at(H + 1) = emp;
  for (int i = (1); i < (int)(H + 1); i++) {
    string input = "";
    cin >> input;
    data.at(i) = '.' + input + '.';
  }
  cout << "input finished" << endl;
  for (string s : data) {
    cout << s << endl;
  }
  for (int i = (1); i < (int)(H + 1); i++) {
    for (int j = (1); j < (int)(W + 1); j++) {
      if (data.at(i).at(j) == '#') {
        if (data.at(i).at(j - 1) != '#' && data.at(i + 1).at(j) != '#' &&
            data.at(i).at(j + 1) != '#' && data.at(i - 1).at(j) != '#') {
          cout << "No" << endl;
          return 0;
        }
      }
    }
  }
  cout << "Yes" << endl;
}
