import java.util.*;
import java.lang.*;
import java.io.*;
class Ideone
{
{
Scanner sc
=new Scanner
(System.
in); int T=sc.nextInt();
while(T-->0){
int n=sc.nextInt();
int[][] G=new int[n][n];
for(int i=0;i<n;i++){
for(int j=0;j<n;j++){
G[i][j]=sc.nextInt();
}
}
Set<Integer> hs=new HashSet<>();
for(int i=0;i<n;i++){
for(int j=0;j<n;j++){
hs.add(G[i][j]);
}
}
int p1=-1;
for(int k=1;k<=2*n;k++){
if(!hs.contains(k)){
p1=k;
break;
}
}
int[] p=new int[2*n];
p[0]=p1;
for(int k=2;k<=n+1;k++){
p[k-1]=G[0][k-2];
}
for(int k=n+2;k<=2*n;k++){
p[k-1]=G[k-n-1][n-1];
}
for(int i=0;i<2*n;i++){
if(i
<2*n
-1) System.
out.
print(" "); }
}
}
}
aW1wb3J0IGphdmEudXRpbC4qOwppbXBvcnQgamF2YS5sYW5nLio7CmltcG9ydCBqYXZhLmlvLio7CgpjbGFzcyBJZGVvbmUKeyAgCglwdWJsaWMgc3RhdGljIHZvaWQgbWFpbiAoU3RyaW5nW10gYXJncykgdGhyb3dzIGphdmEubGFuZy5FeGNlcHRpb24KCXsKCQlTY2FubmVyIHNjPW5ldyBTY2FubmVyKFN5c3RlbS5pbik7CgkJaW50IFQ9c2MubmV4dEludCgpOwoJCXdoaWxlKFQtLT4wKXsKCQkJaW50IG49c2MubmV4dEludCgpOwogICAgICAgICAgICBpbnRbXVtdIEc9bmV3IGludFtuXVtuXTsKICAgICAgICAgICAgZm9yKGludCBpPTA7aTxuO2krKyl7CiAgICAgICAgICAgICAgICBmb3IoaW50IGo9MDtqPG47aisrKXsKICAgICAgICAgICAgICAgICAgIEdbaV1bal09c2MubmV4dEludCgpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgICAgIFNldDxJbnRlZ2VyPiBocz1uZXcgSGFzaFNldDw+KCk7CiAgICAgICAgICAgIGZvcihpbnQgaT0wO2k8bjtpKyspewogICAgICAgICAgICAgICAgZm9yKGludCBqPTA7ajxuO2orKyl7CiAgICAgICAgICAgICAgICAgICBocy5hZGQoR1tpXVtqXSk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICAgICAgaW50IHAxPS0xOwogICAgICAgICAgICBmb3IoaW50IGs9MTtrPD0yKm47aysrKXsKICAgICAgICAgICAgICAgIGlmKCFocy5jb250YWlucyhrKSl7CiAgICAgICAgICAgICAgICAgICAgcDE9azsKICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICAgICBpbnRbXSBwPW5ldyBpbnRbMipuXTsKICAgICAgICAgICAgcFswXT1wMTsKICAgICAgICAgICAgZm9yKGludCBrPTI7azw9bisxO2srKyl7CiAgICAgICAgICAgICAgICBwW2stMV09R1swXVtrLTJdOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGZvcihpbnQgaz1uKzI7azw9MipuO2srKyl7CiAgICAgICAgICAgICAgICBwW2stMV09R1trLW4tMV1bbi0xXTsKICAgICAgICAgICAgfQogICAgICAgICAgICBmb3IoaW50IGk9MDtpPDIqbjtpKyspewogICAgICAgICAgICAgICAgU3lzdGVtLm91dC5wcmludChwW2ldKTsKICAgICAgICAgICAgICAgIGlmKGk8MipuLTEpIFN5c3RlbS5vdXQucHJpbnQoIiAiKTsKICAgICAgICAgICAgfQogICAgICAgICAgICBTeXN0ZW0ub3V0LnByaW50bG4oKTsKCQl9Cgl9Cn0=