B3625
#include <cstdio>
bool v[105][105];
char c[105][105];
int x_[]={-1,1,0,0},y_[]={0,0,-1,1};
int n,m;
void dfs(int x,int y){
if(x<1||x>n||y<1||y>m) return;
if(c[x][y]=='#') return;
if(v[x][y]) return;
v[x][y]=true;
for(int i=1;i<=4;i++){
int a=x+x_[i],b=y+y_[i];
dfs(a,b);
}
}
int main(){
scanf("%d%d",&n,&m);
for(int i=1;i<=n;i++) scanf("%s",c);
dfs(1,1);
if(v[n][m]) puts("Yes");
else puts("No");
return 0;
}