#include <iostream>
#include <algorithm>
#include <vector>
using namespace std;
typedef long long ll;
const int maxn=1e5+10;
char s[40][maxn];
int f[1<<21];
int main()
{
int T;
cin>>T;
while(T--){
int n,m,a,b;
scanf("%d%d%d%d",&n,&m,&a,&b);
for(int i=0;i<(1<<n);i++)
f[i]=0;
for(int i=0;i<n;i++)
scanf("%s",s[i]);
for(int i=0;i<m;i++)
{
int t=0;
for(int j=0;j<n;j++)
{
if(s[j][i]=='*'){
t|=(1<<j);
}
}
f[t]++;
}
for(int j = 0; j < n; j++)
for(int i = 0; i < 1 << n; i++)
if(i >> j & 1)
f[i] += f[i ^ (1 << j)];
int ans=0;
for(int i=0;i<(1<<n);i++)
{
int num=0;
for(int j=0;j<n;j++)
if((i&(1<<j))!=0)
num++;
if(num<=a){
// cout<<i<<" "<<dp[i]<<endl;
ans=max(ans,f[i]);
}
}
if(m-ans<=b)
cout<<"yes"<<endl;
else
cout<<"no"<<endl;
}
}