#include <bits/stdc++.h>
using namespace std;
int main() {
std::ios::sync_with_stdio(false);
cin.tie(NULL);
int t,n,x,r,c,ld,rd,flag,k,l;
scanf("%d",&t);
while(t--)
{
scanf("%d%d",&n,&x);
char b[n][n];
for(int i=0;i<n;i++){
scanf("%s",&b[i]);
}
flag=0;
for(int i=0;i<n;i++){
for(int j=0;j<n;j++){
if((x==1)&&(b[i][j]=='.')){
flag=1;
break;
}
if(b[i][j]=='.'){
//check row
r=1,c=1,ld=1,rd=1;
for(k=i-1;k>=0;k--){
if(b[k][j]=='X')
r++;
else
k=-1;
}
for(k=i+1;k<n;k++){
if(b[k][j]=='X')
r++;
else
k=n;
}
//check column
for(k=j-1;k>=0;k--){
if(b[i][k]=='X')
c++;
else
k=-1;
}
for(k=j+1;k<n;k++){
if(b[i][k]=='X')
c++;
else
k=n;
}
//check left-diagnol
for(k=i-1,l=j-1;k>=0&&l>=0;k--,l--){
if(b[k][l]=='X')
ld++;
else
k=-1;
}
for(k=i+1,l=j+1;k<n&&l<n;k++,l++){
if(b[k][l]=='X')
ld++;
else
k=n;
}
//check right-diagnol
for(k=i-1,l=j+1;k>=0&&l<n;k--,l++){
if(b[k][l]=='X')
rd++;
else
k=-1;
}
for(k=i+1,l=j-1;k<n&&l>=0;k++,l--){
if(b[k][l]=='X')
rd++;
else
k=n;
}
if(r>=x||c>=x||ld>=x||rd>=x){
flag=1;
break;
}
}
}
if(flag==1)
break;
}
if(flag==1)
printf("YES\n");
else
printf("NO\n");
}
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgppbnQgbWFpbigpIHsKCXN0ZDo6aW9zOjpzeW5jX3dpdGhfc3RkaW8oZmFsc2UpOwoJY2luLnRpZShOVUxMKTsKCWludCB0LG4seCxyLGMsbGQscmQsZmxhZyxrLGw7CglzY2FuZigiJWQiLCZ0KTsKCXdoaWxlKHQtLSkKCXsKCSAgICBzY2FuZigiJWQlZCIsJm4sJngpOwoJICAgIGNoYXIgYltuXVtuXTsKCSAgICBmb3IoaW50IGk9MDtpPG47aSsrKXsKCSAgICAgICAgc2NhbmYoIiVzIiwmYltpXSk7CgkgICAgfQoJICAgIAoJICAgIGZsYWc9MDsKCSAgICBmb3IoaW50IGk9MDtpPG47aSsrKXsKCSAgICAgICAgZm9yKGludCBqPTA7ajxuO2orKyl7CgkgICAgICAgICAgICBpZigoeD09MSkmJihiW2ldW2pdPT0nLicpKXsKCSAgICAgICAgICAgICAgICBmbGFnPTE7CgkgICAgICAgICAgICAgICAgYnJlYWs7CgkgICAgICAgICAgICB9CgkgICAgICAgICAgICBpZihiW2ldW2pdPT0nLicpewoJICAgICAgICAgICAgICAgIAoJICAgICAgICAgICAgICAgIC8vY2hlY2sgcm93CgkgICAgICAgICAgICAgICAgcj0xLGM9MSxsZD0xLHJkPTE7CgkgICAgICAgICAgICAgICAgZm9yKGs9aS0xO2s+PTA7ay0tKXsKCSAgICAgICAgICAgICAgICAgICAgaWYoYltrXVtqXT09J1gnKQoJICAgICAgICAgICAgICAgICAgICByKys7CgkgICAgICAgICAgICAgICAgICAgIGVsc2UKCSAgICAgICAgICAgICAgICAgICAgaz0tMTsKCSAgICAgICAgICAgICAgICB9CgkgICAgICAgICAgICAgICAgZm9yKGs9aSsxO2s8bjtrKyspewoJICAgICAgICAgICAgICAgICAgICBpZihiW2tdW2pdPT0nWCcpCgkgICAgICAgICAgICAgICAgICAgIHIrKzsKCSAgICAgICAgICAgICAgICAgICAgZWxzZQoJICAgICAgICAgICAgICAgICAgICBrPW47CgkgICAgICAgICAgICAgICAgfQoJICAgICAgICAgICAgICAgIAoJICAgICAgICAgICAgICAgIC8vY2hlY2sgY29sdW1uCgkgICAgICAgICAgICAgICAgZm9yKGs9ai0xO2s+PTA7ay0tKXsKCSAgICAgICAgICAgICAgICAgICAgaWYoYltpXVtrXT09J1gnKQoJICAgICAgICAgICAgICAgICAgICBjKys7CgkgICAgICAgICAgICAgICAgICAgIGVsc2UKCSAgICAgICAgICAgICAgICAgICAgaz0tMTsKCSAgICAgICAgICAgICAgICB9CgkgICAgICAgICAgICAgICAgZm9yKGs9aisxO2s8bjtrKyspewoJICAgICAgICAgICAgICAgICAgICBpZihiW2ldW2tdPT0nWCcpCgkgICAgICAgICAgICAgICAgICAgIGMrKzsKCSAgICAgICAgICAgICAgICAgICAgZWxzZQoJICAgICAgICAgICAgICAgICAgICBrPW47CgkgICAgICAgICAgICAgICAgfQoJICAgICAgICAgICAgICAgIAoJICAgICAgICAgICAgICAgIC8vY2hlY2sgbGVmdC1kaWFnbm9sCgkgICAgICAgICAgICAgICAgZm9yKGs9aS0xLGw9ai0xO2s+PTAmJmw+PTA7ay0tLGwtLSl7CgkgICAgICAgICAgICAgICAgICAgIGlmKGJba11bbF09PSdYJykKCSAgICAgICAgICAgICAgICAgICAgbGQrKzsKCSAgICAgICAgICAgICAgICAgICAgZWxzZQoJICAgICAgICAgICAgICAgICAgICBrPS0xOwoJICAgICAgICAgICAgICAgIH0KCSAgICAgICAgICAgICAgICBmb3Ioaz1pKzEsbD1qKzE7azxuJiZsPG47aysrLGwrKyl7CgkgICAgICAgICAgICAgICAgICAgIGlmKGJba11bbF09PSdYJykKCSAgICAgICAgICAgICAgICAgICAgbGQrKzsKCSAgICAgICAgICAgICAgICAgICAgZWxzZQoJICAgICAgICAgICAgICAgICAgICBrPW47CgkgICAgICAgICAgICAgICAgfQoJICAgICAgICAgICAgICAgIAoJICAgICAgICAgICAgICAgIC8vY2hlY2sgcmlnaHQtZGlhZ25vbAoJICAgICAgICAgICAgICAgIGZvcihrPWktMSxsPWorMTtrPj0wJiZsPG47ay0tLGwrKyl7CgkgICAgICAgICAgICAgICAgICAgIGlmKGJba11bbF09PSdYJykKCSAgICAgICAgICAgICAgICAgICAgcmQrKzsKCSAgICAgICAgICAgICAgICAgICAgZWxzZQoJICAgICAgICAgICAgICAgICAgICBrPS0xOwoJICAgICAgICAgICAgICAgIH0KCSAgICAgICAgICAgICAgICBmb3Ioaz1pKzEsbD1qLTE7azxuJiZsPj0wO2srKyxsLS0pewoJICAgICAgICAgICAgICAgICAgICBpZihiW2tdW2xdPT0nWCcpCgkgICAgICAgICAgICAgICAgICAgIHJkKys7CgkgICAgICAgICAgICAgICAgICAgIGVsc2UKCSAgICAgICAgICAgICAgICAgICAgaz1uOwoJICAgICAgICAgICAgICAgIH0KCSAgICAgICAgICAgICAgICAKCSAgICAgICAgICAgICAgICBpZihyPj14fHxjPj14fHxsZD49eHx8cmQ+PXgpewoJICAgICAgICAgICAgICAgICAgICBmbGFnPTE7CgkgICAgICAgICAgICAgICAgICAgIGJyZWFrOwoJICAgICAgICAgICAgICAgIH0KCSAgICAgICAgICAgIH0KCSAgICAgICAgfQoJICAgICAgICBpZihmbGFnPT0xKQoJICAgICAgICBicmVhazsKCSAgICB9CgkgICAgaWYoZmxhZz09MSkKCSAgICBwcmludGYoIllFU1xuIik7CgkgICAgZWxzZQoJICAgIHByaW50ZigiTk9cbiIpOwoJfQoJcmV0dXJuIDA7Cn0=