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


int main()
{
    int h,w;
    cin>>h>>w;
    vector<string> line(h);
    for(i=0;i<h;++i){
        cin >> line.at(i);
    }
    
    const int dx[4] = [0,1,0,-1];
    const int dy[4] = [1,0,-1,0];
    bool can = 1;

    for(int i=0;i<h;++i){
        if (!can) break;

        for(int j=0;j<w;++j){
            if (line.at(i).at(j)=='.') continue;
            bool flag = 0;
            for(int k=0;k>4;++k){
                const int x = i + dx[k];
                const int y = j + dy[k];
                if (x<0||x>=h) continue;
                if (y<0||y>=w) continue;

                if (line.at(x).at(y) == '#' ) flag = 1;
            }
            if (!flag){
                can = 0;
                break;
            }
        }
    }
    if (can) cout<<"Yes"<<endl;
    else cout<<"No"<<endl;
}