#include <bits/stdc++.h>
using namespace std;
int main() {
  int h, w;
  int starth, startw;
  cin >> h >> w;
  int** array = new int*[h];
  for (int i = 0; i < h; i++) {
    array[i] = new int[w];
  }
  for (int i = 0; i < h; i++)
    for (int j = 0; j < w; j++) {
      char tmp;
      cin >> tmp;
      if (tmp == '#')
        array[i][j] = 1;
      else
        array[i][j] = 0;
    }
  if ((h == 1) && (w == 1)) {
    cout << "Yes";
    return 0;
  }
  for (int i = 0; i < h; i++) {
    for (int j = 0; j < w; j++) {
      if (array[i][j] == 1) {
        bool flag = false;
        bool right = true;
        bool left = true;
        bool up = true;
        bool down = true;
        if (i == 0) up = false;
        if (i == h - 1) down = false;
        if (j == 0) left = false;
        if (j == w - 1) right = false;
        if ((right) && (array[i][j + 1] == 1)) flag = true;
        if ((left) && (array[i][j - 1] == 1)) flag = true;
        if ((up) && (array[i - 1][j] == 1)) flag = true;
        if ((down) && (array[i + 1][j] == 1)) flag = true;
        if (flag == false) {
          cout << "NO";
          return 0;
        }
      }
    }
  }
  cout << "Yes" << endl;
  return 0;
}
