#include <bits/stdc++.h>
using namespace std;
int main(void) {
  int H, W;
  cin >> H >> W;
  vector<vector<char>> coordinate(H, vector<char>(W));
  for (int i = 0; i < H; i++) {
    for (int j = 0; j < W; j++) {
      cin >> coordinate.at(i).at(j);
    }
  }
  const int dx[4] = {1, 0, -1, 0};
  const int dy[4] = {0, 1, 0, -1};
  int m = 0;
  for (int i = 0; i < H; i++) {
    for (int j = 0; j < W; j++) {
      if (coordinate[i][j] == '#') {
        int num = 0;
        for (int k = 0; k < 4; k++) {
          const int ni = i + dy[k];
          const int nj = j + dx[k];
          if (ni < 0 || ni >= H) continue;
          if (nj < 0 || nj >= W) continue;
          if (coordinate[ni][nj] == '#') {
            num++;
          }
        }
        if (num == 0) {
          m++;
          break;
        } else if (i == H - 1 && j == W - 1) {
          cout << "Yes" << endl;
          break;
        } else
          continue;
      } else if (i == H - 1 && j == W - 1) {
        cout << "YES" << endl;
        break;
      } else
        continue;
    }
    if (m == 0) {
      continue;
    } else {
      cout << "No" << endl;
      break;
    }
  }
}
