#include<bits/stdc++.h>
using namespace std;
int main()
{
	int w,h,i=0,j=0;
	char c[1001][1001]
	cin>>w>>h;
	for (int a=1;a<=w;a++)
	{
		for (int b=1;b<=h;b++)
		{
			cin>>c[a][b];
		}
	}
	for (i=1;i<=w;i++)
	{
		for (j=1;j<=h;j++)
		{
			if (i==1 && j==1)
			{
				if (c[1][2]=='.' && c[2][1]=='.')
				{
					cout<<"No"<<endl;
					return 0;
				}
			}
			if (i==1 && j==h)
			{
				if (c[1][h-1]=='.' && c[2][h]=='.')
				{
					cout<<"No"<<endl;
					return 0;
				}
			}
			if (i==w && j==1)
			{
				if (c[w-1][1]=='.' && c[w][2]=='.')
				{
					cout<<"No"<<endl;
					return 0;
				}
			}
			if (i==w && j==h)
			{
				if (c[w-1][h]=='.' && c[w][h-1]=='.')
				{
					cout<<"No"<<endl;
					return 0;
				}
			}
			if (i==1 && j!=1 && j!=h)
			{
				if (c[1][j-1]=='.' && c[1][j+1]=='.' && c[2][j]=='.')
				{
					cout<<"No"<<endl;
					return 0;
				}
			}
			if (i==w && j!=1 && j!=h)
			{
				if (c[w][j-1]=='.' && c[w][j+1]=='.' && c[w-1][j]=='.')
				{
					cout<<"No"<<endl;
					return 0;
				}
			}
			if (j==1 && i!=1 && i!=w)
			{
				if (c[i+1][1]=='.' && c[i-1][1]=='.' && c[i][2]=='.')
				{
					cout<<"No"<<endl;
					return 0;
				}
			}
			if (j==h && i!=1 && i!=w)
			{
				if (c[i+1][h]=='.' && c[i-1][h]=='.' && c[i][h-1]=='.')
				{
					cout<<"No"<<endl;
					return 0;
				}
			}
			if (i!=1 && i!=w && j!=1 && j!=h)
			{
				if (c[i-1][j]=='.' && c[i+1][j]=='.' && c[i][j-1]=='.' && c[i][j+1]=='.')
				{
					cout<<"No"<<endl;
					return 0;
				}
			}
		}
	}
	cout<<"Yes"<<endl;
	return 0;
}