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

int main(){
  int h,w;
  cin >>h>>w;
  string board[50];
  for (int i=0;i<h;i++) cin >> board[i];
  bool seen=true;
  int ni[8]={1,1,1,0,0,-1,-1,-1};
  int nj[8]={0,1,-1,1,-1,0,1,-1};   
  int p=0;
  for(int i=0;i<h;i++){
    for(int j=0;j<w;j++){
      if(board[i][j]=='.') continue;
      int x=i+ni;
      int y=j+nj;
      if(x<0 or y>h) continue;
      if(x>w or y<0) continue;
        
      if(board[x][y]=='#') p++;
        if(p==0){
          cout << "No" <<endl;
          seen=false;
          break;
        }
      }
    }
  }
  while(seen) cout <<"Yes" <<endl;
}
        