#include <bits/stdc++.h>
using namespace std;
void print(vector<vector<char>>& grid) {
  return;
  for (auto& row : grid) {
    for (auto& cell : row) {
      cout << cell;
    }
    cout << endl;
  }
  cout << endl;
}
int main() {
  size_t H, W;
  cin >> H >> W;
  vector<vector<char>> s(H);
  for (auto& row : s) {
    row.resize(W);
    for (auto& cell : row) {
      cin >> cell;
    }
  }
  vector<vector<char>> canvas(H);
  for (auto& row : canvas) {
    row.resize(W);
    for (auto& cell : row) {
      cell = '.';
    }
  }
  print(s);
  print(canvas);
  for (size_t x = 0; x < W; ++x) {
    for (size_t y = 0; y < H; ++y) {
      auto cell = s.at(y).at(x);
      if (cell == '.') {
        continue;
      } else {
        canvas.at(y).at(x) = '#';
        if (H != y + 1) {
          canvas.at(y + 1).at(x) = '#';
          ++y;
        }
      }
    }
  }
  for (size_t y = 0; y < H; ++y) {
    for (size_t x = 0; x < W; ++x) {
      auto cell = s.at(y).at(x);
      if (cell == '.') {
        continue;
      } else {
        canvas.at(y).at(x) = '#';
        if (W != x + 1) {
          canvas.at(y).at(x + 1) = '#';
          ++x;
        }
      }
    }
  }
  print(s);
  print(canvas);
  if (canvas == s) {
    cout << "Yes" << endl;
  } else {
    cout << "No" << endl;
  }
}
