#include <bits/stdc++.h>
using namespace std;
#define rep(i, n) for(int i = 0; i < (int)(n); i++)
#define all(x) (x).begin(),(x).end()
typedef long long ll;
const int INF = 1000000000;
const long INF64 = 1000000000000000ll;
const int MOD = 1000000007;
template<class T>  //多次元ベクトルの生成
vector<T> make_vec(size_t a){
    return vector<T>(a);
}
template<class T, class... Ts>
auto make_vec(size_t a, Ts... ts){
  return vector<decltype(make_vec<T>(ts...))>(a, make_vec<T>(ts...));
}

int main(){
	int h,w;
	std::cin >> h>>w;
	auto s= make_vec<char> (h,w);
	bool han=1;
	rep(j,h)rep(i,w)std::cin >> s[i][j];
	rep(j,h)rep(i,w){{
	    if(s[i][j]=='#')
	    if(!(i>=1&&s[i-1][j]=='#'||j>=1&&s[i][j-1]=='#'||i<w-1&&s[i+1][j]=='#'||j<h-1&&s[i][j+1]=='#'))han=0;
	    
	}}
	if(han)std::cout << "Yes" << std::endl;
	else std::cout << "No" << std::endl;
}












