#include <bits/stdc++.h>
using namespace std;
const double PI = 3.14159265358979323846;
const double EPS = 1e-12;
const int INF = 1 << 29;
const long long INFL = 1e18;
const int MOD = 1000000007;
void solve() {
  int h;
  cin >> h;
  int w;
  cin >> w;
  vector<vector<char>> canbas(h);
  for (int i = 0; i < h; ++i) {
    for (int j = 0; j < w; ++j) {
      canbas[i].resize(w);
      cin >> canbas[i][j];
    }
  }
  bool ok;
  bool black;
  vector<int> dx = {0, 0, 1, -1};
  vector<int> dy = {-1, 1, 0, 0};
  for (int i = 0; i < h; ++i) {
    for (int j = 0; j < w; ++j) {
      ok = true;
      black = false;
      if (canbas[i][j] == '#') {
        for (int k = 0; k < 4; ++k) {
          if ((i + dy[k] < 0 || i + dy[k] >= h) || (j + dx[k] < 0) ||
              (j + dx[k] >= w)) {
            ok = false;
            break;
          }
          char next_ch = canbas[i + dy[k]][j + dx[k]];
          if (next_ch == '#') {
            black = true;
          }
        }
        if (ok == false) {
          continue;
        } else {
          if (black == true) {
            cout << "Yes" << endl;
            return;
          }
        }
      }
    }
  }
  cout << "No" << endl;
  return;
}
int main(int args, char* argv[]) { solve(); }
