import Data.List

main = do
  (h:w:_) <- getLine >>= return . map read . words :: IO [Int]
  s <- getContents >>= return . lines :: IO [String]

  let
    vrt = map (\x -> f ('.' : x ++ ".")) s
    hrz = transpose $ map (\x -> f ('.' : x ++ ".")) (transpose s)

  putStrLn $ if elem 2 $ concat (zipWith (zipWith (+)) vrt hrz) then "No" else "Yes"
  
  where
    f (_:_:[]) = []
    f (x:y:z:xs) = (if y=='#' then length $ filter (=='#') [x,y,z] else 0) : (f (y:z:xs))

