#include <bits/stdc++.h>
using namespace std;
int main(void) {
  int H, W;
  cin >> H >> W;
  string s[H];
  int dh[] = {-1, 0, 0, 1};
  int dw[] = {0, -1, 1, 0};
  for (int i = 0; i < H; ++i) cin >> s[i];
  bool result = true;
  for (int i = 0; i < H; ++i) {
    for (int j = 0; j < W; ++j) {
      if (s[i][j] == '1') {
        continue;
      } else if (s[i][j] == '#') {
        bool can = false;
        for (int k = 0; k < 4; ++k) {
          int h = i + dh[k];
          int w = j + dw[k];
          if ((h >= 0 && h < H && w >= 0 && w < W) &&
              (s[h][k] == '#' || s[h][k] == '1')) {
            can = true;
            s[i][j] = '1';
            s[h][k] = '1';
            break;
          }
        }
        if (!can) result = false;
      }
    }
  }
  if (result)
    cout << "Yes" << endl;
  else
    cout << "No" << endl;
  return 0;
}
