#include <bits/stdc++.h>
using namespace std;
char a[105][105];
bool u = 0;
long long zt[8][8] = {{1, 0}, {0, 1}, {-1, 0}, {0, -1}}, n, m;
void ss(long long i, long long j) {
if (i == n && j == m) {
u = 1;
return ;
} else if (u == 1 || a[i][j] == 's' || a[i][j] == '#' || i == 0 || j == 0 || i == n + 1 || j == m + 1) {
return;
} else {
for (long long s = 0; s < 4; s++) {
if (a[i][j] == '.') {
a[i][j] = 's';
ss(i + zt[s][0], j + zt[s][1]);
a[i][j] = '.';
} else {
ss(i + zt[s][0], j + zt[s][1]);
}
}
}
}
int main() {
cin >> n >> m;
for (long long i = 1; i <= n; i++) {
for (long long j = 1; j <= m; j++) {
cin >> a[i][j];
}
}
ss(1, 1);
if (u == 1) {
cout << "Yes";
} else {
cout << "No";
}
return 0;
}