#include <bits/stdc++.h>
using namespace std;
int main() {
ios::sync_with_stdio(false);
cin.tie(NULL);
int t;
cin>>t;
while(t--){
int n;
cin>>n;
vector<string>arr(n);
for(int i=0; i<n; ++i){
cin>>arr[i];
}
bool symmetric=1;
// Check for left to right -->Y-axis(|)
for(int i=0; i<n && symmetric; ++i){
for(int j=0; j<n/2; ++j){
if(arr[i][j]!=arr[i][n-j-1]){
symmetric=0;
break;
}
}
// if(symmetric==0){
// break;
// }
}
// Check for top to bottom -->X-axis(---)
for(int i=0; i<n/2 && symmetric; ++i){
if(arr[i]!=arr[n-i-1]){
symmetric=0;
break;
}
}
cout<<(symmetric?"YES":"NO")<<'\n';
}
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CmludCBtYWluKCkgewoJCglpb3M6OnN5bmNfd2l0aF9zdGRpbyhmYWxzZSk7CgljaW4udGllKE5VTEwpOwoKCWludCB0OwoJY2luPj50OwoKCXdoaWxlKHQtLSl7CgkJaW50IG47CgkJY2luPj5uOwoJCQoJCXZlY3RvcjxzdHJpbmc+YXJyKG4pOwoKCQlmb3IoaW50IGk9MDsgaTxuOyArK2kpewoJCQljaW4+PmFycltpXTsKCQl9CgoJCWJvb2wgc3ltbWV0cmljPTE7CgoJCS8vIENoZWNrIGZvciBsZWZ0IHRvIHJpZ2h0IC0tPlktYXhpcyh8KQoJCWZvcihpbnQgaT0wOyBpPG4gJiYgc3ltbWV0cmljOyArK2kpewoJCQlmb3IoaW50IGo9MDsgajxuLzI7ICsrail7CgkJCQlpZihhcnJbaV1bal0hPWFycltpXVtuLWotMV0pewoJCQkJCXN5bW1ldHJpYz0wOwoJCQkJCWJyZWFrOwoJCQkJfQoJCQl9CgkJCS8vIGlmKHN5bW1ldHJpYz09MCl7CgkJCS8vIAlicmVhazsKCQkJLy8gfQoJCX0KCgkJLy8gQ2hlY2sgZm9yIHRvcCB0byBib3R0b20gLS0+WC1heGlzKC0tLSkKCQlmb3IoaW50IGk9MDsgaTxuLzIgJiYgc3ltbWV0cmljOyArK2kpewoJCQlpZihhcnJbaV0hPWFycltuLWktMV0pewoJCQkJc3ltbWV0cmljPTA7CgkJCQlicmVhazsKCQkJfQoJCX0KCgkJY291dDw8KHN5bW1ldHJpYz8iWUVTIjoiTk8iKTw8J1xuJzsKCgoKCX0KCglyZXR1cm4gMDsKfQoKCgoKCgo=
NQoyCjExCjExCjQKMDEwMQowMTEwCjAxMTAKMDEwMQo0CjEwMDEKMDAwMAowMDAwCjEwMDEKNQowMTExMAowMTAxMAoxMDAwMQowMTAxMAowMTExMAo1CjAwMTAwCjAxMDEwCjEwMDAxCjAxMDEwCjAxMTEw
5
2
11
11
4
0101
0110
0110
0101
4
1001
0000
0000
1001
5
01110
01010
10001
01010
01110
5
00100
01010
10001
01010
01110