#include <bits/stdc++.h>
using namespace std;
int main() {
  int H, W;
  cin >> H >> W;
  string a[H];
  string s[H][W];
  for (int i = 0; i < H; i++) {
    cin >> a[i];
  }
  for (int i = 0; i < H; i++) {
    for (int j = 0; j < W; j++) {
      s[i][j] = a[i].substr(j, 1);
    }
  }
  int ans = 0;
  for (int i = 0; i < H; i++) {
    for (int j = 0; j < W; j++) {
      if (i == 0) {
        if (j == 0) {
          if ((s[i + 1][j] == ".") && (s[i][j + 1] == ".")) {
            ans = 0;
          }
        } else if (j == W - 1) {
          if ((s[i - 1][j] == ".") && (s[i][j + 1] == ".")) {
            ans = 0;
          }
        } else {
          if ((s[i + 1][j] == ".") && (s[i][j + 1] == ".") &&
              (s[i][j - 1] == ".")) {
            ans = 0;
          }
        }
      } else if (i == H - 1) {
        if (j == 0) {
          if ((s[i + 1][j] == ".") && (s[i][j - 1] == ".")) {
            ans = 0;
          }
        } else if (j == W - 1) {
          if ((s[i - 1][j] == ".") && (s[i][j - 1] == ".")) {
            ans = 0;
          }
        } else {
          if ((s[i - 1][j] == ".") && (s[i][j + 1] == ".") &&
              (s[i][j - 1] == ".")) {
            ans = 0;
          }
        }
      } else if (j == 0) {
        if ((s[i + 1][j] == ".") && (s[i - 1][j] == ".") &&
            (s[i][j + 1] == ".")) {
          ans = 0;
        }
      } else if (j == W - 1) {
        if ((s[i + 1][j] == ".") && (s[i - 1][j] == ".") &&
            (s[i][j - 1] == ".")) {
          ans = 0;
        }
      } else {
        if ((s[i + 1][j] == ".") && (s[i - 1][j] == ".") &&
            (s[i][j - 1] == ".") && (s[i][j + 1] == ".")) {
          ans = 0;
        } else {
          ans = 1;
        }
      }
    }
  }
  if (ans == 0) {
    cout << "No" << endl;
  } else {
    cout << "Yes" << endl;
  }
  return 0;
}
