#include <bits/stdc++.h>
using namespace std;
int main() {
  int dx[4] = {1, 0, -1, 0};
  int dy[4] = {0, 1, 0, -1};
  int h, w;
  cin >> h >> w;
  char c[h][w];
  for (int i = 0; i < h; i++)
    for (int j = 0; j < h; j++) cin >> c[i][j];
  for (int i = 0; i < h; i++) {
    for (int j = 0; j < w; j++) {
      bool flag = 0;
      if (c[i][j] == '.') continue;
      for (int k = 0; k < 4; k++) {
        int nx = i + dx[k], ny = j + dy[k];
        if (!(0 <= nx && nx < h && 0 <= ny && ny < w)) continue;
        if (c[nx][ny] == '#') flag = 1;
      }
      if (flag == 0) {
        cout << "No" << endl;
        return 0;
      }
    }
  }
  cout << "Yes" << endl;
  return 0;
}
