#include <bits/stdc++.h>
using namespace std;
long long dy[4] = {-1, 0, 0, 1};
long long dx[4] = {0, -1, 1, 0};
signed main() {
  long long H, W;
  cin >> H >> W;
  vector<string> s(H + 2);
  for (long long i = 1; i <= H; i++) {
    cin >> s[i];
    s[i] = '*' + s[i] + '*';
  }
  s[0] = s[H + 1] = string(W + 2, '*');
  bool ok = true;
  for (long long i = 1; i <= H; i++)
    for (long long j = 1; j <= W; j++) {
      if (s[i - 1][j] != '#' and s[i][j - 1] != '#' and s[i][j + 1] != '#' and
          s[i + 1][j] != '#')
        ok = false;
    }
  cout << (ok ? "Yes" : "No") << endl;
}
