#include <bits/stdc++.h>
using namespace std;
int main() {
  static char grid[52][52] = {};
  int dx[4] = {0, 1, 0, -1};
  int dy[4] = {1, 0, -1, 0};
  int H, W;
  scanf("%d%d", &H, &W);
  for (int i = 1; i <= H; i++) {
    for (int j = 1; j <= W; j++) {
      scanf("%c", &grid[i][j]);
    }
    (void)getchar();
  }
  bool ans = true;
  for (int i = 1; i <= H; i++) {
    for (int j = 1; j <= W; j++) {
      int adj = 2;
      if (grid[i][j] == '#') {
        adj = 0;
        for (int k = (0); k < (4); ++k) {
          if (grid[i + dx[k]][j + dy[k]] == '#') {
            adj = 1;
          }
        }
      }
      if (adj == 0) ans = false;
    }
  }
  if ((H == 1) and (W == 1)) ans = false;
  if (ans)
    printf("Yes");
  else
    printf("No");
  return 0;
}
