#include<bits/stdc++.h>
using namespace std ;

int main () {
  int H , W ;
  cin >> H >> W ;
  
  int dx[4] = {-1,1,0,0} ;
  int dy[4] = {0,0,-1,1} ;
  
  char mass[H][W] ;
  int num[H][W] = {} ;
  
  for(int i = 0 ; i < H ; i++ ) {
    for(int j = 0 ; j < W ; j++ ) {
      cin >> mass[i][j] ;
    }
  }
  
  for(int i = 0 ; i < H ; i++ ) {
    for(int j = 0 ; j < W ; j++ ) {
      if(mass[i][j] == '#') {
        for(int k = 0 ; k < 4 ; k++ ){
          
          int nx = i + dx[k] ;
          int ny = j + dy[k] ;
          
          if( nx < 0 || nx >= H ) continue ;
          if( ny < 0 || ny >= H ) continue ;
          
          if(mass[nx][ny] == '#' ) num[i][j]++ ;
          
        }
      } else {
        num[i][j] = -1 ;
      }
    }
  }
  bool can = true ;
  for(int i = 0 ; i < H ; i++ ) {
    for(int j = 0 ; j < W ; j++ ) {
      if( num[i][j] == 0 ) can = false ;
    }
  }
  
  if(can) cout << "Yes" << endl ;
  else cout << "No" << endl ;
}