//#define _GLIBCXX_DEBUG

#include<bits/stdc++.h>
#define PI 3.14159265359
using namespace std;
#define rep(i, n) for (ll i = 0; i < (ll)(n); i++)
const int INF= 1e9+5;
typedef long long ll;
typedef vector<ll> vl;
typedef vector<vector<ll> >vvl;
typedef pair<ll,ll> P;
typedef tuple<ll,ll,ll> T;
const ll MOD=1000000007LL;
char field [60][60];
vector<int>dx={1,-1,0,0};
vector<int>dy={0,0,1,-1};
int h,w;
int dfs(int x,int y){
  if(field[x][y]=='.')return 0;
  res=1;
  rep(i,4){
    if(1<=x+dx[i] && x+dx[i]<=w && 1<=y+dy[i] && y+dy[i]<=h)res=max(res,dfs(x+dx[i],y+dy[i]));
  }
  return res;
}
int main(){
  cin>>h>>w;
  rep(i,h){
    rep(j,w)cin>>field[i][j];
  }
  bool ans=true;
  rep(i,h){
    rep(j,w){
      if(dfs(i,j)==1)ans=false;
    }
  }
  if(ans)cout<<"Yes"<<endl;
  else cout<<"No"<<endl;
}
  