n,m=gets.split.map(&:to_i) l=(1..n).map{gets+?#}+[?#*m] fx=x=0 fy=y=(0...n).find{|i|fx=x=l[i].rindex(?.)} dir=[[0,-1],[-1,0],[0,1],[1,0]]*2 d=1 right=false loop{ l[y][x]=?# (rx,ry),(dx,dy),(lx,ly)=dir[d-1..d+1] if l[y+ry][x+rx]==?. break if right right=true d-=1 x+=rx y+=ry elsif l[y+dy][x+dx]==?. x+=dx y+=dy elsif l[y+ly][x+lx]==?. break if d>4 d+=1 x+=lx y+=ly else break end } puts d>2&&d<6&&y-1==fy&&x==fx&&!(l*"").index(?.)?:YES:"NO"