//TITLE :
//DATE:
//Platform:
import java.io.*;
import java.math.*;
import java.util.*;
class Solution
{
public static int temp=0,k;
{
try{
int t
=Integer.
parseInt(br.
readLine()); while(t!=0)
{
temp=0;
ip=br.readLine().split(" ");
char arr[][]=new char[n][n];
int i,j;
i=0;
while(i<n){
for(j=0;j<n;j++){
arr[i][j]=st.charAt(j);
}
i++;
}
checkrow(arr,n);
if(temp==1)
else{
checkcol(arr,n);
if(temp==1)
else{
checkmaind(arr,n);
if(temp==1)
else{
checkantid(arr,n);
if(temp==1)
else
}
}
}
t--;
}
{return;}
}
public static void checkrow(char a[][], int n){
int i,j,count=0,free=0;
for(i=0;i<n;i++){
count=0;
free=0;
for(j=0;j<n;j++){
if(a[i][j]=='X')
count++;
if(a[i][j]=='O')
count=0;
if(a[i][j]=='.'){
free++;
count++;
}
if(free>1){
count=1;
free=1;
}
if(count==k){
temp=1;
return;
}
}
}
}
public static void checkcol(char a[][], int n){
int i,j,count=0,free=0;
for(i=0;i<n;i++){
count=0;
free=0;
for(j=0;j<n;j++){
if(a[j][i]=='X')
count++;
if(a[j][i]=='O')
count=0;
if(a[j][i]=='.'){
free++;
count++;
}
if(free>1){
count=1;
free=1;
}
if(count==k){
temp=1;
return;
}
}
}
}
public static void checkmaind(char a[][], int n){
int i,j,count=0,free=0,p=0;
for(p=n-1;p>=-(n-1);p--){
free=0;
count=0;
for(i=0;i<n;i++){
for(j=0;j<n;j++){
if((i-j)==p){
if(a[j][i]=='X')
count++;
if(a[j][i]=='O')
count=0;
if(a[j][i]=='.'){
free++;
count++;
}
if(free>1){
count=1;
free=1;
}
if(count==k){
temp=1;
return;
}
}
}
}
}
}
public static void checkantid(char a[][], int n){
int i,j,count=0,free=0,p=0;
for(p=0;p<=(2*n-2);p++){
free=0;
count=0;
for(i=0;i<n;i++){
for(j=0;j<n;j++){
if((i+j)==p){
if(a[j][i]=='X')
count++;
if(a[j][i]=='O')
count=0;
if(a[j][i]=='.'){
free++;
count++;
}
if(free>1){
count=1;
free=1;
}
if(count==k){
temp=1;
return;
}
}
}
}
}
}
}//class
//status:
ICAgIC8vVElUTEUgOgogICAgLy9EQVRFOiAKICAgIC8vUGxhdGZvcm06IAogICAgaW1wb3J0IGphdmEuaW8uKjsKICAgIGltcG9ydCBqYXZhLm1hdGguKjsKICAgIGltcG9ydCBqYXZhLnV0aWwuKjsKICAgIGNsYXNzIFNvbHV0aW9uCiAgICB7CiAgICBwdWJsaWMgc3RhdGljIGludCB0ZW1wPTAsazsKICAgIHB1YmxpYyBzdGF0aWMgdm9pZCBtYWluIChTdHJpbmdbXSBhcmdzKXRocm93cyBJT0V4Y2VwdGlvbgogICAgewogICAgdHJ5ewogICAgQnVmZmVyZWRSZWFkZXIgYnI9bmV3IEJ1ZmZlcmVkUmVhZGVyKG5ldyBJbnB1dFN0cmVhbVJlYWRlcihTeXN0ZW0uaW4pKTsKICAgIGludCB0PUludGVnZXIucGFyc2VJbnQoYnIucmVhZExpbmUoKSk7CiAgICB3aGlsZSh0IT0wKQogICAgewogICAgdGVtcD0wOwogICAgU3RyaW5nIGlwW109bmV3IFN0cmluZ1syXTsKICAgIGlwPWJyLnJlYWRMaW5lKCkuc3BsaXQoIiAiKTsKICAgIGludCBuPUludGVnZXIucGFyc2VJbnQoaXBbMF0pOwogICAgaz1JbnRlZ2VyLnBhcnNlSW50KGlwWzFdKTsKICAgICAKICAgIGNoYXIgYXJyW11bXT1uZXcgY2hhcltuXVtuXTsKICAgICAKICAgIGludCBpLGo7CiAgICBpPTA7CiAgICB3aGlsZShpPG4pewogICAgCVN0cmluZyBzdD1ici5yZWFkTGluZSgpOwogICAgCWZvcihqPTA7ajxuO2orKyl7CiAgICAJCWFycltpXVtqXT1zdC5jaGFyQXQoaik7CiAgICAJfQogICAgCWkrKzsKICAgIH0KICAgICAKICAgIGNoZWNrcm93KGFycixuKTsKICAgIGlmKHRlbXA9PTEpCiAgICBTeXN0ZW0ub3V0LnByaW50bG4oIllFUyIpOwogICAgZWxzZXsKICAgIGNoZWNrY29sKGFycixuKTsKICAgIGlmKHRlbXA9PTEpCiAgICBTeXN0ZW0ub3V0LnByaW50bG4oIllFUyIpOwogICAgZWxzZXsKICAgIGNoZWNrbWFpbmQoYXJyLG4pOwogICAgaWYodGVtcD09MSkKICAgIFN5c3RlbS5vdXQucHJpbnRsbigiWUVTIik7CiAgICBlbHNlewogICAgY2hlY2thbnRpZChhcnIsbik7CiAgICBpZih0ZW1wPT0xKQogICAgU3lzdGVtLm91dC5wcmludGxuKCJZRVMiKTsKICAgIGVsc2UKICAgIFN5c3RlbS5vdXQucHJpbnRsbigiTk8iKTsKICAgIH0KICAgIH0KICAgIH0KICAgIHQtLTsKICAgIH0KICAgICAKICAgIH1jYXRjaChFeGNlcHRpb24gZSkKICAgIHtyZXR1cm47fQogICAgfQogICAgcHVibGljIHN0YXRpYyB2b2lkIGNoZWNrcm93KGNoYXIgYVtdW10sIGludCBuKXsKICAgIAlpbnQgaSxqLGNvdW50PTAsZnJlZT0wOwogICAgCWZvcihpPTA7aTxuO2krKyl7CiAgICAJCWNvdW50PTA7CiAgICAJCWZyZWU9MDsKICAgIAkJZm9yKGo9MDtqPG47aisrKXsKICAgIAkJCWlmKGFbaV1bal09PSdYJykKICAgIAkJCWNvdW50Kys7CiAgICAJCQlpZihhW2ldW2pdPT0nTycpCiAgICAJCQljb3VudD0wOwogICAgCQkJaWYoYVtpXVtqXT09Jy4nKXsKICAgIAkJCWZyZWUrKzsKICAgIAkJCWNvdW50Kys7CiAgICAJCQl9CiAgICAJCQlpZihmcmVlPjEpewogICAgCQkJY291bnQ9MTsKICAgIAkJCWZyZWU9MTsKICAgIAkJCX0KICAgIAkJCWlmKGNvdW50PT1rKXsKICAgIAkJCQl0ZW1wPTE7CiAgICAJCQkJcmV0dXJuOwogICAgCQkJfQogICAgCQl9CiAgICAJfQogICAgfQogICAgcHVibGljIHN0YXRpYyB2b2lkIGNoZWNrY29sKGNoYXIgYVtdW10sIGludCBuKXsKICAgIAlpbnQgaSxqLGNvdW50PTAsZnJlZT0wOwogICAgCWZvcihpPTA7aTxuO2krKyl7CiAgICAJCWNvdW50PTA7CiAgICAJCWZyZWU9MDsKICAgIAkJZm9yKGo9MDtqPG47aisrKXsKICAgIAkJCWlmKGFbal1baV09PSdYJykKICAgIAkJCWNvdW50Kys7CiAgICAJCQlpZihhW2pdW2ldPT0nTycpCiAgICAJCQljb3VudD0wOwogICAgCQkJaWYoYVtqXVtpXT09Jy4nKXsKICAgIAkJCQlmcmVlKys7CiAgICAJCQkJY291bnQrKzsKICAgIAkJCX0KICAgIAkJCWlmKGZyZWU+MSl7CiAgICAJCQkJY291bnQ9MTsKICAgIAkJCQlmcmVlPTE7CiAgICAJCQl9CiAgICAJCQlpZihjb3VudD09ayl7CiAgICAJCQkJdGVtcD0xOwogICAgCQkJCXJldHVybjsKICAgIAkJCX0KICAgIAkJfQogICAgCX0KICAgIH0KICAgIHB1YmxpYyBzdGF0aWMgdm9pZCBjaGVja21haW5kKGNoYXIgYVtdW10sIGludCBuKXsKICAgIGludCBpLGosY291bnQ9MCxmcmVlPTAscD0wOwogICAgZm9yKHA9bi0xO3A+PS0obi0xKTtwLS0pewogICAgCQlmcmVlPTA7CiAgICAJY291bnQ9MDsKICAgIGZvcihpPTA7aTxuO2krKyl7CiAgICAgCiAgICAJZm9yKGo9MDtqPG47aisrKXsKICAgIAkJaWYoKGktaik9PXApewogICAgCQkJaWYoYVtqXVtpXT09J1gnKQogICAgCQkJY291bnQrKzsKICAgIAkJCWlmKGFbal1baV09PSdPJykKICAgIAkJCWNvdW50PTA7CiAgICAJCQlpZihhW2pdW2ldPT0nLicpewogICAgCQkJCWZyZWUrKzsKICAgIAkJCQljb3VudCsrOwogICAgCQkJfQogICAgCQkJaWYoZnJlZT4xKXsKICAgIAkJCQljb3VudD0xOwogICAgCQkJCWZyZWU9MTsKICAgIAkJCX0KICAgIAkJCWlmKGNvdW50PT1rKXsKICAgIAkJCQl0ZW1wPTE7CiAgICAJCQkJcmV0dXJuOwogICAgCQkJfQogICAgCQl9CiAgICAJfQogICAgfQogICAgfQogICAgfQogICAgcHVibGljIHN0YXRpYyB2b2lkIGNoZWNrYW50aWQoY2hhciBhW11bXSwgaW50IG4pewogICAgaW50IGksaixjb3VudD0wLGZyZWU9MCxwPTA7CiAgICBmb3IocD0wO3A8PSgyKm4tMik7cCsrKXsKICAgIAkJZnJlZT0wOwogICAgCWNvdW50PTA7CiAgICBmb3IoaT0wO2k8bjtpKyspewogICAgIAogICAgCWZvcihqPTA7ajxuO2orKyl7CiAgICAJCWlmKChpK2opPT1wKXsKICAgIAkJCWlmKGFbal1baV09PSdYJykKICAgIAkJCWNvdW50Kys7CiAgICAJCQlpZihhW2pdW2ldPT0nTycpCiAgICAJCQljb3VudD0wOwogICAgCQkJaWYoYVtqXVtpXT09Jy4nKXsKICAgIAkJCQlmcmVlKys7CiAgICAJCQkJY291bnQrKzsKICAgIAkJCX0KICAgIAkJCWlmKGZyZWU+MSl7CiAgICAJCQkJY291bnQ9MTsKICAgIAkJCQlmcmVlPTE7CiAgICAJCQl9CiAgICAJCQlpZihjb3VudD09ayl7CiAgICAJCQkJdGVtcD0xOwogICAgCQkJCXJldHVybjsKICAgIAkJCX0KICAgIAkJfQogICAgCX0KICAgIH0KICAgIH0KICAgIH0KICAgIH0vL2NsYXNzCiAgICAvL3N0YXR1czogIAogICAgIA==