import scala.io.{StdIn => in}

object Main extends App {
  val Array(h, w) = in.readLine.split(" ").map(_.toInt)
  val grid = Iterator.continually(in.readLine)
    .take(h)
    .map(_.map(ch => if(ch == '.') true else false).toArray)
    .toArray

  val dx = Array(0, 1, 0, -1)
  val dy = Array(1, 0, -1, 0)
  val withinRange = (i:Int, j:Int, k:Int) =>
    0 <= i + dy(k) && i + dy(k) < h &&
    0 <= j + dx(k) && j + dx(k) < w

  def rec(isCont:Boolean, i:Int, j:Int):Boolean = {
    if(!isCont || i == h ) isCont
    else if(j == w) rec(isCont, i+1, 0)
    else if(!grid(i)(j)) {
      val res = (0 until 4)
        .map(k => if(withinRange(i,j,k)) !grid(i+dy(k))(j+dx(k)) else false)
        .exists(_ == true)
      rec(res, i, j+1)
    }
    else rec(isCont, i, j+1)
  }

  val ans = if(rec(true, 0, 0)) "Yes" else "No"

  println(ans)
}