#include<bits/stdc++.h>
using namespace std;
char a[100][100];
int v[100][100];
int dx[10]={0,1,0,-1},dy[10]={1,0,-1,0};
int tx,ty,m,n,cnt=0;
void dfs(int x,int y){
if(x==n&&y==m){
cnt=1;
return;
}
for(int k = 0;k < 4;k++){
tx=x+dx[k];
ty=y+dy[k];
if(a[tx][ty]=='.'&&v[tx][ty]==0&&tx<=n&&ty<=m){
v[tx][ty]=1;
dfs(tx,ty);
v[tx][ty]=0;
}
}
}
int main(){
cin>>n>>m;
for(int i = 1;i <= n;i++){
for(int j = 1;j <= m;j++){
cin>>a[i][j];
}
}
dfs(1,1);
if(cnt==1){
cout<<"Yes";
}
else{
cout<<"No";
}
return 0;
}