#include <bits/stdc++.h>
using namespace std;
int main() {
  bool flag = false;
  int H, W;
  string s[50][50];
  cin >> H >> W;
  for (int i = 0; i < H; ++i) {
    for (int j = 0; j < W; ++j) {
      cin >> s[i][j];
    }
  }
  if (H == 1 && W == 1 && s[0][0] == "#") goto RESULT;
  if (H == 1 && W == 1 && s[0][0] != "#") flag = true;
  goto RESULT;
  for (int i = 1; i < H; ++i) {
    for (int j = 1; j < W - 1; ++j) {
      if (s[i][j] == "#") {
        if (s[i - 1][j] != "#" && s[i + 1][j] != "#" && s[i][j - 1] != "#" &&
            s[i][j + 1] != "#") {
          goto RESULT;
        }
      }
    }
  }
  for (int j = 1; j < W - 1; ++j) {
    if (s[0][j] == "#") {
      if (s[0][j - 1] != "#" && s[0][j + 1] != "#" && s[1][j] != "#") {
        goto RESULT;
      }
    }
    if (s[H - 1][j] == "#") {
      if (s[H - 1][j - 1] != "#" && s[H - 1][j + 1] != "#" &&
          s[H - 2][j] != "#") {
        goto RESULT;
      }
    }
  }
  for (int i = 1; i < H - 1; ++i) {
    if (s[i][0] == "#") {
      if (s[i - 1][0] != "#" && s[i + 1][0] != "#" && s[i][1] != "#") {
        goto RESULT;
      }
    }
    if (s[i][W - 1] == "#") {
      if (s[i - 1][W - 1] != "#" && s[i + 1][W - 1] != "#" &&
          s[i][W - 2] != "#") {
        goto RESULT;
      }
    }
  }
  if (s[0][0] == "#") {
    if (s[1][0] != "#" && s[0][1] != "#") {
      goto RESULT;
    }
  }
  if (s[0][W - 1] == "#") {
    if (s[1][W - 1] != "#" && s[0][W - 2] != "#") {
      goto RESULT;
    }
  }
  if (s[H - 1][0] == "#") {
    if (s[H - 2][0] != "#" && s[H - 1][1] != "#") {
      goto RESULT;
    }
  }
  if (s[H - 1][W - 1] == "#") {
    if (s[H - 2][W - 1] != "#" && s[H - 1][W - 2] != "#") {
      goto RESULT;
    }
  }
  flag = true;
RESULT:
  if (flag == false)
    cout << "No" << endl;
  else
    cout << "Yes" << endl;
  return 0;
}
