#include <bits/stdc++.h>
using namespace std;
using ll = long long;
ll mod = 1;
const ll INF = 1LL << 60;
template <class T>
inline bool chmin(T& a, T b) {
  if (a > b) {
    a = b;
    return true;
  }
  return false;
}
template <class T>
inline bool chmax(T& a, T b) {
  if (a < b) {
    a = b;
    return true;
  }
  return false;
}
ll modpow(ll a, ll n, ll& mod) {
  if (!n) return 1;
  ll x = modpow(a, n / 2, mod) % mod;
  x *= x;
  if (n % 2 == 1) x *= a;
  return x % mod;
}
char board[55][55];
int dxy[4][2] = {{-1, 0}, {0, -1}, {0, 1}, {1, 0}};
int main() {
  int h, w;
  cin >> h >> w;
  for (int i = 0; i < 55; i++)
    for (int j = 0; j < 55; j++) board[i][j] = '.';
  for (int i = 0; i < h; i++)
    for (int j = 0; j < w; j++) cin >> board[i + 1][j + 1];
  for (int i = 1; i <= h; i++)
    for (int j = 1; j <= w; j++) {
      for (int k = 0; k < 4; k++) {
        int x = i + dxy[k][0];
        int y = j + dxy[k][1];
        if (board[y][x] == '#') break;
        if (k == 3) {
          cout << "No";
          return 0;
        }
      }
    }
  cout << "Yes";
}
