import std.stdio;
import std.range;
import std.algorithm;
import std.array;
import std.string;

void main() {
    int h, w;
    readf("%d %d\n", &h, &w);
    // bool[50][50] x;
    bool[][] x;
    x.length = h;
    foreach (i; 0..h) {
        string s;
        readf("%s\n", &s);
        x[i] = s.map!(c => c == '#').array;
    }

    foreach (i; 0..h) {
        foreach (j; 0..w) {
            if (x[i][j]) {
                if (
                    (i > 0 && x[i-1][j]) ||
                    (j > 0 && x[i][j-1]) ||
                    (i < h-1 && x[i+1][j]) ||
                    (j < w-1 && x[i][j+1])
                    ) continue;
                write("No");
                return;
            }
        }
    }
    write("Yes");
}
