import Data.Array
import Control.Monad
check_lonely::Array (Int,Int) Char->Bool
check_lonely ar = let ((x_i,y_i),(x_f,y_f)) = bounds ar in
                  let neigh_coods (x,y) = filter (\(a,b)-> (a>=x_i)&&(a<=x_f)&&(b>=y_i)&&(b<=y_f)) [(x+1,y),(x,y+1),(x-1,y),(x,y-1)]in
                  []==[(x,y)|x<-[x_i..x_f],y<-[y_i..y_f],ar!(x,y)=='#',and (map (\p->(ar!p)=='.') (neigh_coods (x,y))) ]

main::IO()
main=do
  hwc<-getLine
  let h:w:[]= map read (words hwc)
  ss<-forM [1..h] (\_ -> getLine)
  let dat = listArray ((1,1),(h,w)) (concat ss)
  putStr (if check_lonely dat then "Yes\n" else "No\n")