#include <bits/stdc++.h>
void solve(int H, int W, char s[50][50]);
int main() {
  int H, W;
  char s[50][50];
  char output[3];
  scanf("%d %d", &H, &W);
  for (int i = 0; i < H; i++) {
    scanf("%s", s[i]);
  }
  solve(H, W, s);
  return 0;
}
void solve(int H, int W, char s[50][50]) {
  for (int i = 0; i < H; i++) {
    for (int j = 0; j < W; j++) {
      if (s[i][j] == '#') {
        if (i == H - 1 && j == W - 1) {
          continue;
        }
        if (i > 0) {
          if (s[i - 1][j] == '#') {
            continue;
          }
        }
        if (i < H - 1) {
          if (s[i + 1][j] == '#') {
            continue;
          }
        }
        if (j > 0) {
          if (s[i][j - 1] == '#') {
            continue;
          }
        }
        if (j < W - 1) {
          if (s[i][j + 1] == '#') {
            continue;
          }
        }
        printf("%s\n", "no");
        return;
      }
    }
  }
  printf("%s\n", "yes");
  return;
}
