#include <bits/stdc++.h>
using namespace std;
#define rep(i, n) for (int i = 0; i < (int)(n); i++)
#define rep2(i, s, n) for (int i = (s); i < (int)(n); i++)
typedef long long ll;

int main() {
    int H, W;
    cin >> H >> W;
    vector<vector<char>> S(W + 2, vector<char> (H + 2));
    for (int i = 0; i < W + 2; i++){
        S[0][i] = '.';
    }
    for (int i = 0; i < H; i++){
        S[i][0] = '.';
        for (int j = 1; j < W + 1; j++){
            cin >> S[i][j];
        }
        S[i][W + 1] = '.';
    }
    for (int i = 0; i < W + 2; i++){
        S[H + 1][i] = '.';
    }
    vector<int> dx = {-1, 0, 1, 0};
    vector<int> dy = {0, -1, 0, 1};
    bool flag = true;
    for (int i = 1; i < H + 1; i++){
        for (int j = 1; j < W + 1; j++){
            if (S[i][j] == "#") {
                for (int k = 0; k < 4; k++){
                    if (S[i + dx][j + dy] == '#') {
                        flag = false;
                        break;
                    }
                }
                if (flag) {
                    cout << "No" << endl;
                    return 0;
                }
                else{
                        flag = true;
                    }
            }
        }
    }
    cout << "Yes" << endl;
}
