#include <bits/stdc++.h>
using namespace std;
typedef pair<int,int> PII;
queue <PII> q;
const int N=1050;
char a[N][N];
bool st[N][N];
int n,m;
void bfs(int u,int v){
int dx[4]={0,1,0,-1},dy[4]={1,0,-1,0};
st[u][v]=true;
q.push({u,v});
while(!q.empty())
{
auto t=q.front();
q.pop();
for(int i=0;i<4;i++)
{
int x=t.first+dx[i],y=t.second+dy[i];
if(1<=x && x<=n && 1<=y && y<=m && !st[x][y] && a[x][y]=='.')
q.push({x,y});
}
}
if(!st[n][m]) cout<<"No"<<endl;
else cout<<"Yes"<<endl;
}
int main(){
cin>>n>>m;
for(int i=1;i<=n;i++)
for(int j=1;j<=m;j++)
cin>>a[i][j];
bfs(1,1);
return 0;
}