#include <bits/stdc++.h>
using namespace std;
static const int INF = 1000010000;
static const int MOD = 1000000007;
int dx[4] = {0, 1, 0, -1}, dy[4] = {-1, 0, 1, 0};
vector<bool> get_prime(int n) {
  vector<bool> prime(n + 1, true);
  if (n >= 0) prime[0] = false;
  if (n >= 1) prime[1] = false;
  for (int i = 2; i * i <= n; i++) {
    if (prime[i]) {
      for (int j = i + i; j <= n; j += i) prime[j] = false;
    }
  }
  return (prime);
}
int main() {
  int h, w;
  char mas[60][60];
  for (int i = 0; i < (h); ++i)
    for (int j = 0; j < (w); ++j) cin >> mas[i][j];
  bool flag = true;
  for (int i = 0; i < (h); ++i)
    for (int j = 0; j < (w); ++j) {
      if (mas[i][j] == '#') {
        bool tmp = true;
        for (int k = 0; k < (4); ++k) {
          if (mas[i + dx[k]][j + dy[k]] == '#') tmp = false;
        }
        if (tmp) flag = false;
      }
    }
  if (flag)
    cout << "Yes" << endl;
  else
    cout << "No" << endl;
}
