#include <bits/stdc++.h>
#include <ext/pb_ds/assoc_container.hpp>
#include <ext/pb_ds/tree_policy.hpp>
using namespace std;
using namespace __gnu_pbds;
template<class T> using ordered_set = tree<T, null_type, less_equal<T>, rb_tree_tag, tree_order_statistics_node_update>;
#define all(v) v.begin(),v.end()
#define sz(s) (int)(s).size()
#define ll long long
#define ld long double
#define el "\n"
#define PI 3.141592653589793
#define fx(x) fixed<<setprecision(x)
#define F first
#define S second
#define memo(mem, val) memset(mem, val, sizeof(mem))
#define IOS ios_base::sync_with_stdio(0);cin.tie(NULL);cout.tie(NULL);
void File() {
#ifndef ONLINE_JUDGE
freopen("input.txt", "r", stdin);
freopen("output.txt", "w", stdout);
#endif
}
const int N=1e5+5;
int n;
ll arr[302][302],dp[302][302][302],vis[302][302][302];
int val,id=1;
ll rec(int c_w,int r,int c_b) {
if (c_w == val) {
int x=c_b;
ll sum=0;
for (int i = r+1; i <=n ; ++i) {
sum+=arr[i][x];
x++;
}
return sum;
}
ll &ret = dp[c_w][r][c_b];
if (vis[c_w][r][c_b]==id)return ret;
vis[c_w][r][c_b]=id;
for (int i = r + 1; i <= n; ++i) {
ll x = 0, tmp = c_b;
for (int j = r + 1; j < i; ++j) {
x += arr[j][tmp];
tmp++;
}
ret = max(ret, rec(c_w + 1, i, tmp) + x + arr[i][c_w]);
}
return ret;
}
void solve() {
cin >> n;
for (int i = 1; i <= n; ++i) {
for (int j = 1; j <= n; ++j) {
cin >> arr[i][j];
}
}
memo(dp,-1);
memo(vis,0);
ll ans=0;
for (int i = 1; i <=n ; ++i) {
id++;
val=i;
ans= max(ans, rec(min(i,1),0,i+1));
}
cout<<ans;
}
int main() {
IOS
File();
int tc = 1;
cin >> tc;
for (int i = 1; i <= tc; ++i) {
solve();
if (i < tc) cout << "\n";
}
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CiNpbmNsdWRlIDxleHQvcGJfZHMvYXNzb2NfY29udGFpbmVyLmhwcD4KI2luY2x1ZGUgPGV4dC9wYl9kcy90cmVlX3BvbGljeS5ocHA+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CnVzaW5nIG5hbWVzcGFjZSBfX2dudV9wYmRzOwp0ZW1wbGF0ZTxjbGFzcyBUPiB1c2luZyBvcmRlcmVkX3NldCA9IHRyZWU8VCwgbnVsbF90eXBlLCBsZXNzX2VxdWFsPFQ+LCByYl90cmVlX3RhZywgdHJlZV9vcmRlcl9zdGF0aXN0aWNzX25vZGVfdXBkYXRlPjsKI2RlZmluZSBhbGwodikgdi5iZWdpbigpLHYuZW5kKCkKI2RlZmluZSBzeihzKSAoaW50KShzKS5zaXplKCkKI2RlZmluZSBsbCBsb25nIGxvbmcKI2RlZmluZSBsZCBsb25nIGRvdWJsZQojZGVmaW5lIGVsICJcbiIKI2RlZmluZSBQSSAgMy4xNDE1OTI2NTM1ODk3OTMKI2RlZmluZSBmeCh4KSBmaXhlZDw8c2V0cHJlY2lzaW9uKHgpCiNkZWZpbmUgRiBmaXJzdAojZGVmaW5lIFMgc2Vjb25kCiNkZWZpbmUgbWVtbyhtZW0sIHZhbCkgbWVtc2V0KG1lbSwgdmFsLCBzaXplb2YobWVtKSkKI2RlZmluZSBJT1MgaW9zX2Jhc2U6OnN5bmNfd2l0aF9zdGRpbygwKTtjaW4udGllKE5VTEwpO2NvdXQudGllKE5VTEwpOwoKdm9pZCBGaWxlKCkgewojaWZuZGVmIE9OTElORV9KVURHRQogICAgZnJlb3BlbigiaW5wdXQudHh0IiwgInIiLCBzdGRpbik7CiAgICBmcmVvcGVuKCJvdXRwdXQudHh0IiwgInciLCBzdGRvdXQpOwojZW5kaWYKfQpjb25zdCBpbnQgTj0xZTUrNTsKaW50IG47CmxsIGFyclszMDJdWzMwMl0sZHBbMzAyXVszMDJdWzMwMl0sdmlzWzMwMl1bMzAyXVszMDJdOwppbnQgdmFsLGlkPTE7CmxsIHJlYyhpbnQgY193LGludCByLGludCBjX2IpIHsKICAgIGlmIChjX3cgPT0gdmFsKSB7CiAgICAgICAgaW50IHg9Y19iOwogICAgICAgIGxsIHN1bT0wOwogICAgICAgIGZvciAoaW50IGkgPSByKzE7IGkgPD1uIDsgKytpKSB7CiAgICAgICAgICAgIHN1bSs9YXJyW2ldW3hdOwogICAgICAgICAgICB4Kys7CiAgICAgICAgfQogICAgICAgIHJldHVybiBzdW07CiAgICB9CiAgICBsbCAmcmV0ID0gZHBbY193XVtyXVtjX2JdOwogICAgaWYgKHZpc1tjX3ddW3JdW2NfYl09PWlkKXJldHVybiByZXQ7CiAgICB2aXNbY193XVtyXVtjX2JdPWlkOwogICAgZm9yIChpbnQgaSA9IHIgKyAxOyBpIDw9IG47ICsraSkgewogICAgICAgIGxsIHggPSAwLCB0bXAgPSBjX2I7CiAgICAgICAgZm9yIChpbnQgaiA9IHIgKyAxOyBqIDwgaTsgKytqKSB7CiAgICAgICAgICAgIHggKz0gYXJyW2pdW3RtcF07CiAgICAgICAgICAgIHRtcCsrOwogICAgICAgIH0KICAgICAgICByZXQgPSBtYXgocmV0LCByZWMoY193ICsgMSwgaSwgdG1wKSArIHggKyBhcnJbaV1bY193XSk7CiAgICB9CiAgICByZXR1cm4gcmV0Owp9CnZvaWQgc29sdmUoKSB7CiAgICBjaW4gPj4gbjsKICAgIGZvciAoaW50IGkgPSAxOyBpIDw9IG47ICsraSkgewogICAgICAgIGZvciAoaW50IGogPSAxOyBqIDw9IG47ICsraikgewogICAgICAgICAgICBjaW4gPj4gYXJyW2ldW2pdOwogICAgICAgIH0KICAgIH0KICAgIG1lbW8oZHAsLTEpOwogICAgbWVtbyh2aXMsMCk7CiAgICBsbCBhbnM9MDsKICAgIGZvciAoaW50IGkgPSAxOyBpIDw9biA7ICsraSkgewogICAgICAgIGlkKys7CiAgICAgICAgdmFsPWk7CiAgICAgICAgYW5zPSBtYXgoYW5zLCByZWMobWluKGksMSksMCxpKzEpKTsKICAgIH0KCiAgICBjb3V0PDxhbnM7Cn0KaW50IG1haW4oKSB7CiAgICBJT1MKICAgIEZpbGUoKTsKICAgIGludCB0YyA9IDE7CiAgICBjaW4gPj4gdGM7CiAgICBmb3IgKGludCBpID0gMTsgaSA8PSB0YzsgKytpKSB7CiAgICAgICAgc29sdmUoKTsKICAgICAgICBpZiAoaSA8IHRjKSBjb3V0IDw8ICJcbiI7CiAgICB9CgogICAgcmV0dXJuIDA7Cn0=