const rl = require("readline").createInterface({ input: process.stdin });
var iter = rl[Symbol.asyncIterator]();
const readline = async () => (await iter.next()).value;
void async function () {
let line = await readline()
let[n,m]=line.split(' ').map(Number)
let grid = []
for(let i = 0 ; i < n ; i++){
const line = await readline()
grid.push(line.split(''))
}
let result = findpath(grid,0,0,n,m)
console.log(result?"Yes":"No")
}()
function findpath (arr,x,y,n,m){
if(x < 0 || y < 0 || x >=n || y >=m || arr[x][y] != '.'){
return;
}
if(x == n - 1 && y ==m -1){
return true
}
arr[x][y] = '#'
return (
findpath(arr, x + 1, y, n, m) ||
findpath(arr, x - 1, y, n, m) ||
findpath(arr, x, y + 1, n, m) ||
findpath(arr, x, y - 1, n, m)
);
}