use proconio::{input, fastout , marker::*};
#[fastout]
fn main() {
  input!{
    h:usize,
    w:usize,
    s:[Chars;h]
  }
  let dx:Vec<i64> = vec![1,-1,0,0];
  let dy:Vec<i64> = vec![0,0,1,-1];
  let mut can : bool = true;
  for i in 0..h {
      for j in 0..w {
          if s[j][i] != '#' {continue;}
          let mut hoge : bool = false;
          for n in 0..4 {
              let x : i64 = j as i64 + dx[n];
              let y : i64 = i as i64 + dy[n];
              if 0 <= x && x < w as i64 && 0 <= y && y < h as i64 {
                if s[x as usize][y as usize] == '#'{
                    hoge = true;
                    break;
                }
              }
          }
          if !hoge {can = false;}
      }
  }
  println!("{}", if can {"Yes"} else {"No"});
}
