#include<bits/stdc++.h>
using namespace std;
#define ll unsigned long long
#define szs_a_zh main
int n,m;
int dis[110][110],dir[4][2]={1,0,-1,0,0,1,0,-1};
char a[110][110];
bool vis[110][110];
struct zb{
int x,y;
};
int cnt=0;
int bfs(int x,int y){
queue<zb> dl;
zb t;
t.x=x,t.y=y;
dl.push(t);
while(!dl.empty()){
t=dl.front(),dl.pop();
vis[t.x][t.y]=1;
if(t.x==n&&t.y==m){
return 1;
}
for(int i=0;i<4;i++){
int tx=t.x,ty=t.y;
if(tx>=1&&tx<=n&&ty>=1&&ty<=m&&dis[tx][ty]==1&&vis[tx][ty]==0){
zb u;
u.x=tx,u.y=ty;
dl.push(u);
}
}
}
return 0;
}
int szs_a_zh(){
cin>>n>>m;
for(int i=1;i<=n;i++){
for(int j=1;j<=m;j++){
cin>>a[i][j];
if(a[i][j]=='.'){
dis[i][j]=1;
}else{
dis[i][j]=2;
}
}
}
bool flag=bfs(1,1);
if(flag==1){
cout<<"Yes";
}else{
cout<<"No";
}
return 0;
}
传送门