#include <bits/stdc++.h>
using namespace std;
int main() {
  int w, h;
  cin >> h >> w;
  int grid[w][h];
  for (int i = 0; i < w; i++) {
    for (int j = 0; j < h; j++) {
      char s;
      cin >> s;
      grid[i][j] = s == '.' ? 0 : 1;
    }
  }
  bool canDraw = true;
  for (int x = 0; x < w; x++) {
    for (int y = 0; y < h; y++) {
      int top = (y == 0) ? 0 : grid[x][y - 1];
      int left = (x == 0) ? 0 : grid[x - 1][y];
      int right = (x == w - 1) ? 0 : grid[x + 1][y];
      int bottom = (y == h - 1) ? 0 : grid[x][y + 1];
      int center = grid[x][y];
      bool roundWhite = top + left + right + bottom == 0;
      if (roundWhite && center == 1) {
        canDraw = false;
      }
    }
  }
  string ans = canDraw ? "yes" : "no";
  cout << ans << endl;
  return 0;
}
