let main () =
  let flag = ref true in
  let a, b = Scanf.scanf "%d %d\n" (fun a b -> a, b) in
  let c = Array.make a "" in
  for i = 0 to a - 1 do
    c.(i) <- Scanf.scanf "%s\n" (fun a -> a)
  done;
  for i = 0 to a - 1 do
    for j = 0 to b - 1 do
      if !flag = true && Char.compare (String.get c.(i) j) '#' = 0 then (
        flag := false;
        if i > 0 then (
          if Char.compare (String.get c.(i - 1) j) '#' = 0 then flag := true
        );
        if i < a - 1 && not !flag then (
          if Char.compare (String.get c.(i + 1) j) '#' = 0 then flag := true
        );
        if j > 0 && not !flag then (
          if Char.compare (String.get c.(i) (j - 1)) '#' = 0 then flag := true
        );
        if j < b - 1 && not !flag then (
          if Char.compare (String.get c.(i) (j + 1)) '#' = 0 then flag := true
        );
      )
    done;
  done;
  Printf.printf "%s\n" (if !flag then "Yes" else "No")

let _ = main ()
