#include <bits/stdc++.h>
#include <vector>
using namespace std;
 
int main(void){
    int H, W, a;
    a = 1;
    cin >> H >> W;
    vector<vector<int>> b;
    b = vector<vector<int>>(W, vector<int>(H, 0));
	for(int i=0; i<W; i++){
    	for(int j=0; j<H; j++){
        	char x;
            cin >> x;
            if(x == "#"){
            	b[i][j] = 1;
            }else if(x == "."){
            	b[i][j] = 0;
            }
        }
    }
    for(int i=0; i<W; i++){
        for(int j=0; j<H; j++){
            if(b[i][j] == 1){
                if(i == 0 && j == 0 && b[i+1][j] == 0 && b[i][j+1] == 0){
                    a = 0;
                    break;
                }else if(i == W-1 && j == H-1 && b[i-1][j] == 0 && b[i][j+1] == 0){
                    a = 0
                    break;
                }else if(i == 0 && j == H-1 && b[i+1][j] == 0 && b[i][j-1] == 0){
                    a = 0
                    break;
                }else if(i == W-1 && j == 0 && b[i][j+1] == 0 && b[i-1][j] == 0){
                    a = 0;
                    break;
                }else if(i == 0 && b[i][j+1] == 0 && b[i][j-1] == 0 && b[i+1][j] = 0){
                    a = 0;
                    break;
                }else if(j == 0 && b[i][j+1] == 0 && b[i-1][j] == 0 && b[i+1][j] = 0){
                    a = 0;
                    break;
                }else if(i == W-1 && b[i][j-1] == 0 && b[i-1][j] == 0 && b[i][j+1] = 0){
                    a = 0;
                    break;
                }else if(j == H-1 && b[i][j-1] == 0 && b[i-1][j] == 0 && b[i+1][j] = 0){
                    a = 0;
                    break;
                }else if(b[i][j+1] == 0 && b[i][j-1] == 0 && b[i-1][j] == 0 && b[i+1][j] = 0){
                    a = 0;
                    break;
                }
            }
        }
    }
    if(a == 0){
        cout << "No";
    }else if(a == 1){
        cout << "Yes";
    }
}