#include<iostream>
using namespace std;
int t,n;
int w[503][503];
int lowcost[503];
bool s[503];
int maxlen;
void prim(){
int i,j;int k;
memset(s,0,sizeof(s));
s[1]=1;
for(i=1;i<=n;i++)
{
lowcost[i]=w[1][i];
}
for(i=1;i<n;i++){
int min=0xffff;
for(j=1;j<=n;j++)
if(lowcost[j]<=min&&!s[j])//就应为这的括号打错地方害了我一下午!!!!
{
min=lowcost[j];
k=j;}
s[k]=1;
for(j=1;j<=n;j++){
if(!s[j]&&w[k][j]<lowcost[j])
lowcost[j]=w[k][j];
}
}
}
int main(){
int i,j,k;
cin>>t;
for(k=1;k<=t;k++){
cin>>n;
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
scanf("%d",&w[i][j]);
maxlen=0;
prim();
for(i=1;i<=n;i++)
if(lowcost[i]>maxlen) maxlen=lowcost[i];
printf("%d/n",maxlen);
}
return 0;}