  fun main(args: Array<String>) {
    val (H,W) = readLine()!!.split(" ").map{ i -> i.toInt() }
    val s = Array(H){readLine()!!.toCharArray()}
 
    var result = false;
    for(h in 0..H-1){
        for( w in 0..W-1){
            if(s[h][w]!='#'){
                 continue 
            }  else {
                result = hasAdjacent(h,w,s)
            }
            if(result == false) break
        }
    }
    println(if(result) "yes" else "no")
}
fun hasAdjacent(h: Int,w: Int,s: Array<CharArray>): Boolean {
    for(i in h-1..h+1){
        if(i < 0 || i >= s.size) continue
        for(j in w-1..w+1){
            if( j < 0 || j >= s[0].size) continue
            if((i == h-1 || i == h+1) && j != w) continue
            if(i == h && j == w) continue
            if(s[i][j]=='#') return true
        }
    }
    return false
}