import scala.io.Source

object Main extends App {
  val lines: Iterator[String] = Source.stdin.getLines()
  val line = lines.next.split(" ").map(_.toInt)
  val a = line.head
  val b = line(1)

  val canvas: List[List[Int]] = lines.toStream
    .map(_.map(o => if (o == '#') 1 else 0).toList)
    .take(b)
    .toList

  def neigbs(i1: Int, i2: Int): List[(Int, Int)] = {
    List((i1 - 1, i2), (i1 + 1, i2), (i1, i2 - 1), (i1, i2 + 1))
      .filter(_._1 >= 0)
      .filter(_._1 < a)
      .filter(_._2 >= 0)
      .filter(_._2 < b)
  }

  def isValid(i1: Int, i2: Int, list: List[List[Int]]): Boolean = {
    if (list(i1)(i2) == 0) true else
    neigbs(i1, i2).map(t => list(t._1)(t._2)).contains(1)
  }

  val result = Stream.range(0, a - 1)
    .flatMap(i => Stream.range(0, b - 1).map((i, _)))
    .forall(t => isValid(t._1, t._2, canvas))

  println(if (result) "Yes" else "No")
}
