#include <bits/stdc++.h>
using namespace std;
int main() {
  int H, W;
  cin >> H >> W;
  char a[H + 1][W + 1];
  for (int i = 1; i <= H; i++) {
    for (int k = 1; k <= W; k++) {
      cin >> a[i][k];
    }
  }
  for (int i = 1; i <= H; i++) {
    for (int k = 1; k <= W; k++) {
      if (a[i][k] == '#') {
        if (k % W != 0 && k % W != 1) {
          if (a[i + 1][k] = !'#' && a[i - 1][k] != '#' && a[i][k - 1] != '#' &&
                            a[i][k + 1] != '#') {
            cout << "No" << endl;
            goto E1;
          }
        }
        if (k % W == 0) {
          if (a[i - 1][k] = !'#' && a[i][k - 1] != '#' && a[i][k + 1] != '#') {
            cout << "No" << endl;
            goto E1;
          }
          if (k % W == 1) {
            if (a[i + 1][k] =
                    !'#' && a[i][k - 1] != '#' && a[i][k + 1] != '#') {
              cout << "No" << endl;
              goto E1;
            }
          }
        }
      }
    }
  }
  cout << "Yes" << endl;
E1:
  return 0;
}
