#include <bits/stdc++.h>
using namespace std;
const int inf = 1e9 + 7;
const long long infll = 1ll << 60ll;
const long long mod = 1e9 + 7;
constexpr int dx[] = {1, 0, -1, 0, 1, 1, -1, -1};
constexpr int dy[] = {0, -1, 0, 1, 1, -1, -1, 1};
int h, w;
vector<vector<char>> s(51, vector<char>(51));
int blackCnt = 0;
void dfs(int y, int x) {
  for (int i = 0; i < 4; i++) {
    if (x + dx[i] >= 0 && x + dx[i] < w && y + dy[i] >= 0 && y + dy[i] < h)
      if (s[x + dx[i]][y + dy[i]] == '#') {
        blackCnt--;
        s[x + dx[i]][y + dy[i]] = '.';
        dfs(y + dy[i], x + dx[i]);
      }
  }
}
int main() {
  cin.tie(0);
  ios::sync_with_stdio(false);
  cin >> h >> w;
  for (int i = 0; i < h; i++) {
    for (int j = 0; j < w; j++) {
      cin >> s[i][j];
      if (s[i][j] == '#') {
        blackCnt++;
      }
    }
  }
  for (int i = 0; i < h; i++) {
    for (int j = 0; j < w; j++) {
      for (int k = 0; k < 4; k++) {
        if (j + dx[k] >= 0 && j + dx[k] < w && i + dy[k] >= 0 && i + dy[k] < h)
          if (s[i + dy[k]][j + dx[k]] == '#') {
            if (s[i][j] == '#') {
              s[i][j] = '.';
              blackCnt--;
              dfs(j, i);
              break;
            }
          }
      }
    }
  }
  (blackCnt) ? cout << "No" << endl : cout << "Yes" << endl;
  return 0;
}
