#include<iostream>
using namespace std;
int n,m,bx=1,by=1,dx[4]={1,0,-1,0},dy[4]={0,-1,0,1},map[100][100],cnt;
string s;
int dfs(int x,int y){
map[1][1]=1;
if(map[x][y]==1){
return 1;
}
for(int i=1;i<=4;i++){
if(map[bx+dx[i]][by+dy[i]]==0&&bx+dx[i]<=n&&bx+dx[i]>=0&&by+dy[i]<=m&&by+dy[i]>=0){
map[bx][by]=1;
bx+=dx[i];
by+=dy[i];
map[bx][by]=1;
dfs(bx,by);
}
}
return 0;
}
int main(){
cin>>n>>m;
for(int i=1;i<=n;i++){
for(int j=1;j<=m;j++){
cin>>s;
if(s==".") map[i][j]=0;
else map[i][j]=1;
}
}
if(dfs(n,m)==1) cout<<"Yes";
else cout<<"No";
}