import sys from collections import deque def main(): N, M = map(int, sys.stdin.readline().split()) grid = [sys.stdin.readline().strip() for _ in range(N)] points = [] for i in range(N): for j in range(M): if grid[i][j] == '.': points.append((i, j)) K = len(points) if K % 2 != 0: print("NO") return if K == 0: print("NO") return # Check connectivity using BFS visited = set() q = deque() start = points[0] q.append(start) visited.add(start) dirs = [(-1, 0), (1, 0), (0, -1), (0, 1)] while q: i, j = q.popleft() for di, dj in dirs: ni, nj = i + di, j + dj if 0 <= ni < N and 0 <= nj < M: if grid[ni][nj] == '.' and (ni, nj) not in visited: visited.add((ni, nj)) q.append((ni, nj)) if len(visited) == K: print("YES") else: print("NO") if __name__ == "__main__": main()