#include <bits/stdc++.h>
using namespace std;
const string YES = "Yes";
const string NO = "No";
const int dx[4] = {-1, 0, 0, 1};
const int dy[4] = {0, 1, -1, 0};
int solve(long long H, long long W, std::vector<std::string> S) {
  for (int i = 0; i < H; i++) {
    for (int j = 0; j < W; j++) {
      for (int k = 0; k < 4; k++) {
        long long x = j + dx[k];
        long long y = i + dy[k];
        if (x < 0 || x >= W) continue;
        if (y < 0 || y >= H) continue;
        if (S[i][j] == '#' && S[y][x] == '#') {
          break;
        } else if (S[i][j] == '#' && k == 3) {
          cout << "No" << endl;
          return 0;
        }
      }
    }
  }
  cout << "Yes" << endl;
  return 0;
}
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;
}
