- #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=