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)
    );
}