#include <bits/stdc++.h>
using namespace std;
using ll = long long;
char grid[55][55];
int main() {
  int h, w;
  cin >> h >> w;
  for (int i = 0; i < (int)(w + 2); i++) {
    grid[0][i] = '.';
  }
  for (int i = 0; i < (int)(h); i++)
    for (int j = 0; j < (int)(w + 2); j++) {
      if (j == 0)
        grid[i + 1][j] = '.';
      else if (j == w + 1)
        grid[i + 1][j] = '.';
      else
        cin >> grid[i + 1][j];
    }
  for (int i = 0; i < (int)(w + 2); i++) {
    grid[h + 1][i] = '.';
  }
  bool ans = 1;
  for (int hi = 1; hi <= h; h++) {
    for (int wi = 1; wi <= w; w++) {
      if (grid[hi][wi] == '#') {
        if (grid[hi + 1][wi] != '#' && grid[hi - 1][wi] != '#' &&
            grid[hi][wi + 1] != '#' && grid[hi][wi - 1] != '#')
          ans = 0;
      }
    }
  }
  if (ans)
    cout << "Yes" << endl;
  else
    cout << "No" << endl;
}
