#include <bits/stdc++.h>
int main() {
  int H, W;
  std::cin >> H >> W;
  std::vector<int> mass(H * W);
  for (int y = 0; y < H; y++) {
    std::string line;
    std::cin >> line;
    for (int x = 0; x < W; x++) {
      mass[((y)*W) + (x)] = line[x];
    }
  }
  bool able = true;
  for (int y = 0; y < H; y++) {
    for (int x = 0; x < W; x++) {
      if (mass[((y)*W) + (x)] == '#') {
        bool bocchi = true;
        for (int dy = -1; dy <= 1; dy += 2) {
          if (0 <= (y + dy) && (y + dy) < H && 0 <= x && x < W &&
              mass[((y + dy) * W) + (x)] == '#') {
            bocchi = false;
            break;
          }
        }
        if (!bocchi) {
          break;
        }
        for (int dx = -1; dx <= 1; dx += 2) {
          if (0 <= y && y < H && 0 <= (x + dx) && (x + dx) < W &&
              mass[((y)*W) + (x + dx)] == '#') {
            bocchi = false;
            break;
          }
        }
        if (bocchi) {
          able = false;
          goto RESULT;
        }
      }
    }
  }
RESULT:
  if (able) {
    std::cout << "Yes" << std::endl;
  } else {
    std::cout << "No" << std::endl;
  }
  return 0;
}
