#include <bits/stdc++.h>
using namespace std;
const string YES = "Yes";
const string NO = "No";
void solve(long long H, long long W, std::vector<std::string> s) {
  string ans = YES;
  for (int i = 0; i < (int)(H); i++) {
    for (int j = 0; j < (int)(W); j++) {
      if (s[i][j] == '#') {
        int count = 0;
        if (0 <= j - 1) {
          if (s[i][j - 1] == '#') {
            count++;
          }
        }
        if (W > j + 1) {
          if (s[i][j + 1] == '#') {
            count++;
          }
        }
        if (0 <= i - 1) {
          if (s[i - 1][j] == '#') {
            count++;
          }
        }
        if (H > i + 1) {
          if (s[i + 1][j] == '#') {
            count++;
          }
        }
        if (count == 0) {
          ans = NO;
        }
      }
    }
  }
  cout << ans << endl;
}
int main() {
  long long H;
  scanf("%lld", &H);
  long long W;
  scanf("%lld", &W);
  std::vector<std::string> s(W);
  for (int i = 0; i < W; i++) {
    std::cin >> s[i];
  }
  solve(H, W, std::move(s));
  return 0;
}
