#include "stdafx.h"
#include <iostream>
#include <cstdio>
#include <cstring>
#include <cstdlib>
#include <algorithm>
#include <string>
#include <sstream>
#include <complex>
#include <vector>
#include <list>
#include <queue>
#include <deque>
#include <stack>
#include <map>
#include <set>
#include <fstream>
using namespace std;
typedef long long unsigned int ll;

#define rep(i,n)for(i=0;i<n;i++)

#define INF (1e9)
#define PI  (acos(-1))


int dx[] = { 0, 0, 1,-1 };
int dy[] = { 1,-1, 0, 0 };

int main()
{
	int  i, j, H, W, dir;
	string s[50];
	cin >> H >> W;
	rep(i, H) {
		cin >> s[i];
	}
	rep(i, H) {
		rep(j, W) {
			if (s[i][j] == '.') continue;
			rep(dir, 4) {
				int ny = i + dy[dir];
				int nx = j + dx[dir];
				if (ny < 0 || nx < 0 ||
					ny >= H || nx >= W) continue;
				if (s[ny][nx] == '#') {
					break;
				}
			}
			if (dir == 4) {
				cout << "No" << endl;
				return 0;
			}
		}
	}

	cout << "Yes" << endl;
	return 0;

}

