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