#include <bits/stdc++.h>
using namespace std;
const int N = 51;
int n, m;
char a[N][N];
int dx[4] = {1, 0, -1, 0}, dy[4] = {0, 1, 0, -1};
int main() {
  scanf("%d%d", &n, &m);
  for (int i = 1; i <= n; i++) scanf("%s", a[i] + 1);
  bool flag = true;
  for (int i = 1; i <= n; i++)
    for (int j = 1; j <= m; j++)
      if (a[i][j] == '#') {
        bool ok = false;
        for (int k = 0; k < 4; k++) {
          int x = i + dx[k], y = j + dy[k];
          if (x >= 1 && x <= n && y >= 1 && y <= m && a[x][y] == '#') ok = true;
        }
        if (!ok) flag = false;
      }
  puts(flag ? "YES" : "NO");
}
