#include <iostream>
#include <vector>
#include <string>
#include <cmath>
#include <set>
#include <algorithm>
#include <array>
#include <complex>
#include <utility>
#include <map>
int needleX[4] = { -1,0,1,0 };
int needleY[4] = { 0,1,0,-1 };

int main(void) {
    int h,w;
    std::cin >> h>> w;
    char a[52][52];
    
    for(int i=1;i<=h;i++){
        for(int j=1;j<=w;j++){
            std::cin >> a[i][j];
        }
    }
    bool make=true;
    for(int i=1;i<=h;i++){
        for(int j=1;j<=w;j++){
            if(c[i][j]=='#'&&c[i-1][j]!='#'&&c[i+1][j]!='#'&&c[i][j-1]!='#'&&c[i][j+1]!='#'){
                make=false;
            }
        }
    }
    if(make){
        std::cout << "Yes" << std::endl;
    }else{
        std::cout << "No" << std::endl;
    }
    return 0;
}