object Main extends App {
  val sc = new java.util.Scanner(System.in)
  val H, W = sc.nextInt()
  val canvas = List.fill(H)(sc.next().toCharArray)
  val udlr = Seq((0, 1), (0, -1), (-1, 0), (1, 0))

  def hasContinuation(x: Int, y: Int): Boolean = {
    udlr.collect {
      case (i, j) if 0 <= i + x && i + x < H && 0 <= j + y && j + y < W => (i + x, j + y)
    }.exists { case (x, y) => canvas(x)(y) == '#' }
  }

  val hasContinuationAll = (for {
    x <- 0 until H
    y <- 0 until W
  } yield x -> y).forall { case (x, y) =>
    if (canvas(x)(y) == '.') true
    else hasContinuation(x, y)
  }
  println(if (hasContinuationAll) "Yes" else "No")
}
