#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; int dy[] = {-1, 0, 1, 0}; int dx[] = {0, -1, 0, 1}; bool solve(vector s, int n, int sy, int sx, int d) { int y = sy; int x = sx; int cnt = 0; for(int i=0; i 1) return false; } d = d2; y = y2; x = x2; s[y][x] = '#'; } return y == sy && x == sx; } int main() { int h, w; cin >> h >> w; vector s(h+2, string(w+2, '#')); int n = 0; int sy, sx; for(int y=1; y<=h; ++y){ for(int x=1; x<=w; ++x){ cin >> s[y][x]; if(s[y][x] == '.'){ ++ n; sy = y; sx = x; } } } bool ok = false; for(int i=0; i<4; ++i) ok |= solve(s, n, sy, sx, i); if(ok) cout << "YES" << endl; else cout << "NO" << endl; return 0; }