#include <bits/stdc++.h>
using namespace std;
char m[52][52] = {0};
int h, k;
int f(int x, int y) {
  if (x == h && y == k) return 1;
  if (m[x - 1][y] == '#')
    f(x - 1, y);
  else if (m[x - 1][y] == '#')
    f(x + 1, y);
  else if (m[x][y - 1] == '#')
    f(x, y - 1);
  else if (m[x][y + 1] == '#')
    f(x, y + 1);
  else if ((m[x - 1][y] == '.' || m[x - 1][y] == 0) &&
           (m[x + 1][y] == '.' || m[x + 1][y] == 0) &&
           (m[x][y - 1] == '.' || m[x][y - 1] == 0) &&
           (m[x][y + 1] == '.' || m[x][y + 1] == 0))
    return 0;
}
int main() {
  scanf("%d %d", &h, &k);
  getchar();
  for (int i = 1; i <= h; i++)
    for (int j = 1; j <= k; j++) {
      scanf("%c", &m[i][j]);
    }
  if (f(1, 1))
    printf("yes");
  else
    printf("no");
  return 0;
}
