#include <bits/stdc++.h>
#define int long long
#define all(x) x.begin(), x.end()
#define f1(i, n) for(int i=1;i<=n;++i)
using namespace std;
const int maxn = 1e6 + 5;
const int MOD = 1e9 + 7;
char A[30][30];
int n, m;
bool check(int i, int j) {
int cnt = 0;
if (A[i - 1][j] == '#')
++cnt;
if (A[i][j - 1] == '#')
++cnt;
if (A[i][j + 1] == '#')
++cnt;
if (A[i + 1][j] == '#')
++cnt;
if (cnt != 2 and cnt != 4) return false;
return true;
}
main() {
ios::sync_with_stdio(false);
cin.tie(nullptr);
cout.tie(nullptr);
// . là trắng, # là đen
cin >> n >> m;
f1(i, n) {
string s;
cin >> s;
f1(j, m) {
A[i][j] = s[j - 1];
}
}
// bool ok = false;
for (int i = 1; i <= n; ++i) {
for (int j = 1; j <= m; ++j) {
if (A[i][j] == '#') {
if (!check(i, j)) {
// cout<<"---"<<i<<" "<<j<<"---"<<endl;
cout << "No";
return 0;
}
}
}
}
// if(!ok) cout<<"Yes";
cout << "Yes";
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CiNkZWZpbmUgaW50IGxvbmcgbG9uZwojZGVmaW5lIGFsbCh4KSB4LmJlZ2luKCksIHguZW5kKCkKI2RlZmluZSBmMShpLCBuKSBmb3IoaW50IGk9MTtpPD1uOysraSkKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCmNvbnN0IGludCBtYXhuID0gMWU2ICsgNTsKY29uc3QgaW50IE1PRCA9IDFlOSArIDc7CgpjaGFyIEFbMzBdWzMwXTsKaW50IG4sIG07Cgpib29sIGNoZWNrKGludCBpLCBpbnQgaikgewoJaW50IGNudCA9IDA7CglpZiAoQVtpIC0gMV1bal0gPT0gJyMnKQoJCSsrY250OwoJaWYgKEFbaV1baiAtIDFdID09ICcjJykKCQkrK2NudDsKCWlmIChBW2ldW2ogKyAxXSA9PSAnIycpCgkJKytjbnQ7CglpZiAoQVtpICsgMV1bal0gPT0gJyMnKQoJCSsrY250OwoJaWYgKGNudCAhPSAyIGFuZCBjbnQgIT0gNCkgcmV0dXJuIGZhbHNlOwoJcmV0dXJuIHRydWU7Cgp9CgptYWluKCkgewoJaW9zOjpzeW5jX3dpdGhfc3RkaW8oZmFsc2UpOwoJY2luLnRpZShudWxscHRyKTsKCWNvdXQudGllKG51bGxwdHIpOwoKCS8vIC4gbMOgIHRy4bqvbmcsICMgbMOgIMSRZW4KCgljaW4gPj4gbiA+PiBtOwoJZjEoaSwgbikgewoJCXN0cmluZyBzOwoJCWNpbiA+PiBzOwoJCWYxKGosIG0pIHsKCQkJQVtpXVtqXSA9IHNbaiAtIDFdOwoJCX0KCX0KCgkvLyBib29sIG9rID0gZmFsc2U7CgoJZm9yIChpbnQgaSA9IDE7IGkgPD0gbjsgKytpKSB7CgkJZm9yIChpbnQgaiA9IDE7IGogPD0gbTsgKytqKSB7CgkJCWlmIChBW2ldW2pdID09ICcjJykgewoJCQkJaWYgKCFjaGVjayhpLCBqKSkgewoJCQkJCS8vIGNvdXQ8PCItLS0iPDxpPDwiICI8PGo8PCItLS0iPDxlbmRsOwoJCQkJCWNvdXQgPDwgIk5vIjsKCQkJCQlyZXR1cm4gMDsKCQkJCX0KCQkJfQoJCX0KCX0KCS8vIGlmKCFvaykgY291dDw8IlllcyI7Cgljb3V0IDw8ICJZZXMiOwoKCgp9Cg==