#include <bits/stdc++.h>
using namespace std;
int n,m;
char a[10010][1010];
int cx[5]={0,0,1,-1,0};
int cy[5]={1,-1,0,0,0};
bool vis[10010][10010];
int dfs(int x,int y){
if(x==n&&y==m){
return true;
}
if(a[x][y]=='.'&&vis[x][y]==0){
vis[x][y]=1;
for(int i=1;i<=4;i++){
dfs(x+cx[i],y+cy[i]);
}
}
}
int main(){
cin>>n>>m;
for(int i=1;i<=n;i++){
for(int j=1;j<=m;j++){
cin>>a[i][j];
}
}
if(dfs(1,1)){
cout<<"Yes";
}
else{
cout<<"No";
}
return 0;
}