#include <bits/stdc++.h>
using namespace std;
int main() {
  int H, W, count;
  count = 0;
  cin >> H >> W;
  char s[H][W];
  for (int i = 0; i < H; i++) {
    for (int j = 0; j < W; j++) {
      cin >> s[i][j];
    }
  }
  for (int i = 0; i < H; i++) {
    for (int j = 0; j < W; j++) {
      if (i == 0 && j == 0) {
        if (s[i][j] == '.') {
          if (s[i + 1][j] == '#') count++;
          if (s[i][j + 1] == '#') count++;
          if (count < 2) cout << "No" << endl;
          return 0;
          count = 0;
        } else if (s[i][j] == '#') {
          if (s[i + 1][j] == '#') count++;
          if (s[i][j + 1] == '#') count++;
          if (count < 1) cout << "No" << endl;
          return 0;
          count = 0;
        }
      } else if (i == H - 1 && j == 0) {
        if (s[i][j] == '.') {
          if (s[i - 1][j] == '#') count++;
          if (s[i][j + 1] == '#') count++;
          if (count < 2) cout << "No" << endl;
          return 0;
          count = 0;
        } else if (s[i][j] == '#') {
          if (s[i - 1][j] == '#') count++;
          if (s[i][j + 1] == '#') count++;
          if (count < 1) cout << "No" << endl;
          return 0;
          count = 0;
        }
      } else if (i == 0 && j == W - 1) {
        if (s[i][j] == '.') {
          if (s[i + 1][j] == '#') count++;
          if (s[i][j - 1] == '#') count++;
          if (count < 2) cout << "No" << endl;
          return 0;
          count = 0;
        } else if (s[i][j] == '#') {
          if (s[i + 1][j] == '#') count++;
          if (s[i][j - 1] == '#') count++;
          if (count < 1) cout << "No" << endl;
          return 0;
          count = 0;
        }
      } else if (i == H - 1 && j == W - 1) {
        if (s[i][j] == '.') {
          if (s[i - 1][j] == '#') count++;
          if (s[i][j - 1] == '#') count++;
          if (count < 2) cout << "No" << endl;
          return 0;
          count = 0;
        } else if (s[i][j] == '#') {
          if (s[i - 1][j] == '#') count++;
          if (s[i][j - 1] == '#') count++;
          if (count < 1) cout << "No" << endl;
          return 0;
          count = 0;
        }
      } else if (i > 0 && i < H - 1 && j == 0) {
        if (s[i][j] == '.') {
          if (s[i - 1][j] == '#') count++;
          if (s[i + 1][j] == '#') count++;
          if (s[i][j + 1] == '#') count++;
          if (count < 2) cout << "No" << endl;
          return 0;
          count = 0;
        } else if (s[i][j] == '#') {
          if (s[i - 1][j] == '#') count++;
          if (s[i + 1][j] == '#') count++;
          if (s[i][j + 1] == '#') count++;
          if (count < 1) cout << "No" << endl;
          return 0;
          count = 0;
        }
      } else if (i > 0 && i < H - 1 && j == W - 1) {
        if (s[i][j] == '.') {
          if (s[i - 1][j] == '#') count++;
          if (s[i + 1][j] == '#') count++;
          if (s[i][j - 1] == '#') count++;
          if (count < 2) cout << "No" << endl;
          return 0;
          count = 0;
        } else if (s[i][j] == '#') {
          if (s[i - 1][j] == '#') count++;
          if (s[i + 1][j] == '#') count++;
          if (s[i][j - 1] == '#') count++;
          if (count < 1) cout << "No" << endl;
          return 0;
          count = 0;
        }
      } else if (j > 0 && j < W - 1 && i == 0) {
        if (s[i][j] == '.') {
          if (s[i][j - 1] == '#') count++;
          if (s[i][j + 1] == '#') count++;
          if (s[i + 1][j] == '#') count++;
          if (count < 2) cout << "No" << endl;
          return 0;
          count = 0;
        } else if (s[i][j] == '#') {
          if (s[i][j - 1] == '#') count++;
          if (s[i][j + 1] == '#') count++;
          if (s[i + 1][j] == '#') count++;
          if (count < 1) cout << "No" << endl;
          return 0;
          count = 0;
        }
      } else if (j > 0 && j < W - 1 && i == H - 1) {
        if (s[i][j] == '.') {
          if (s[i][j - 1] == '#') count++;
          if (s[i][j + 1] == '#') count++;
          if (s[i - 1][j] == '#') count++;
          if (count < 2) cout << "No" << endl;
          return 0;
          count = 0;
        } else if (s[i][j] == '#') {
          if (s[i][j - 1] == '#') count++;
          if (s[i][j + 1] == '#') count++;
          if (s[i - 1][j] == '#') count++;
          if (count < 1) cout << "No" << endl;
          return 0;
          count = 0;
        }
      } else {
        if (s[i][j] == '.') {
          if (s[i - 1][j] == '#') count++;
          if (s[i + 1][j] == '#') count++;
          if (s[i][j - 1] == '#') count++;
          if (s[i][j + 1] == '#') count++;
          if (count < 2) cout << "No" << endl;
          return 0;
          count = 0;
        } else {
          if (s[i - 1][j] == '#') count++;
          if (s[i + 1][j] == '#') count++;
          if (s[i][j - 1] == '#') count++;
          if (s[i][j + 1] == '#') count++;
          if (count < 1) cout << "No" << endl;
          return 0;
          count = 0;
        }
      }
    }
  }
  cout << "Yes" << endl;
  return 0;
}
