#include <iostream>
#include<bits/stdc++.h>
using namespace std;
bool sortinrev(const pair<int,int> &a,
const pair<int,int> &b)
{
return (a.first > b.first);
}
int main() {
int i,j,n,t;
cin>>t;
while(t--){
cin>>n;
long long int x;
vector< pair <long long int,int> > vect;
for(i=0;i<n;i++)
for(j=0;j<n;j++){
cin>>x;
vect.push_back( make_pair(x,i) );
}
sort(vect.begin(), vect.end(), sortinrev);
int n1=n-1;
long long int res=0;
for(i=0;i<n*n;i++){
if(vect[i].second==n1){
res+=vect[i].first;
n1--;
if(n1<0)
break;
}
}
if(n1<0)
cout<<res<<endl;
else
cout<<"-1\n";
}
return 0;
}
ICAgICNpbmNsdWRlIDxpb3N0cmVhbT4KICAgICNpbmNsdWRlPGJpdHMvc3RkYysrLmg+CgogICAgdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCiAgICBib29sIHNvcnRpbnJldihjb25zdCBwYWlyPGludCxpbnQ+ICZhLAogICAgICAgICAgICAgICAgICAgY29uc3QgcGFpcjxpbnQsaW50PiAmYikKICAgIHsKICAgICAgICAgICByZXR1cm4gKGEuZmlyc3QgPiBiLmZpcnN0KTsKICAgIH0KCiAgICBpbnQgbWFpbigpIHsKCiAgICAgICAgIGludCBpLGosbix0OwogICAgICAgICBjaW4+PnQ7CiAgICAgICAgIHdoaWxlKHQtLSl7CiAgICAgICAgIGNpbj4+bjsKICAgICAgICAgbG9uZyBsb25nIGludCB4OwogICAgICAgICB2ZWN0b3I8IHBhaXIgPGxvbmcgbG9uZyBpbnQsaW50PiAgPiB2ZWN0OwogICAgICAgICBmb3IoaT0wO2k8bjtpKyspCiAgICAgICAgICAgZm9yKGo9MDtqPG47aisrKXsKICAgICAgICAgICAJY2luPj54OwogICAgICAgICAgIAl2ZWN0LnB1c2hfYmFjayggbWFrZV9wYWlyKHgsaSkgKTsKCiAgICAgICAgICAgfQoKICAgICAgICAgICAgc29ydCh2ZWN0LmJlZ2luKCksIHZlY3QuZW5kKCksIHNvcnRpbnJldik7CgogICAgICAgICAgIGludCBuMT1uLTE7CiAgICAgICAgICAgbG9uZyBsb25nIGludCByZXM9MDsKICAgICAgICAgICAgZm9yKGk9MDtpPG4qbjtpKyspewogICAgICAgICAgICAJaWYodmVjdFtpXS5zZWNvbmQ9PW4xKXsKICAgIAkgICAgICAgIHJlcys9dmVjdFtpXS5maXJzdDsKICAgIAkgICAgICAgIG4xLS07CiAgICAJICAgICAgICBpZihuMTwwKQogICAgCSAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIAl9CiAgICAgICAgICAgIH0KICAgICAgICAgICAgaWYobjE8MCkKICAgICAgICAgICAgICBjb3V0PDxyZXM8PGVuZGw7CiAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgIGNvdXQ8PCItMVxuIjsKCiAgICAgICAgIH0KICAgICAgICAgcmV0dXJuIDA7CiAgICB9Cg==