fun main(args: Array<String>) {
    val (H,W) = readLine()!!.split(" ").map{ i -> i.toInt() }
    val s = Array(H){readLine()!!.toCharArray()}
    var ans = "Yes"

    loop@for( h in 0..H-1){
        for( w in 0..W-1){
            if( s[h][w] == '#'){
                if( count(h,w,s) == true ) {
                    continue
                } else {
                    ans = "No"
                    break@loop
                }
            }
        }
    }
    println(ans)
}

fun count(h: Int, w: Int, s: Array<CharArray>): Boolean{
    var isOK = false

    when{
        w+1 < s.size && s[h][w+1] == '#' -> isOK = true
        w-1 >= 0 && s[h][w-1] == '#' -> isOK = true
        h+1 < s[0].size && s[h+1][w] == '#' -> isOK = true
        h-1 >= 0 && s[h-1][w] == '#' -> isOK = true
    }
    return isOK
}