#include <bits/stdc++.h>
using namespace std;
int dir[10] = {1, 0, 0, 1, -1, 0, 0, -1};
int main() {
  int m, n, flag;
  char mapp[52][52];
  bool mm[52][52];
  memset(mapp, '.', sizeof(mapp));
  memset(mm, true, sizeof(mm));
  cin >> m >> n;
  getchar();
  for (int i = 1; i < m + 1; i++) gets(&mapp[i][1]);
  for (int i = 1; i < m + 1; i++) {
    for (int k = 1; k < n + 1; k++) {
      flag = 1;
      if (mapp[i][k] == '#') {
        flag = 0;
        for (int p = 0; p < 8; p += 2) {
          if (mapp[i + dir[p]][k + dir[p + 1]] == '#') {
            flag = 1;
            break;
          }
        }
      }
      if (!flag) {
        cout << "No";
        return 0;
      }
    }
  }
  cout << "Yes";
  return 0;
}
