#include <bits/stdc++.h>
#define fi first
#define se second
#define vi std::vector<int>
#define isz(v) (int) v.size()
#define pii std::pair<int, int>
//#define int long long
#define all(v) v.begin(), v.end()
#define TIME 1.0 * clock() / CLOCKS_PER_SEC
using namespace std;
typedef long long ll;
const int MAXN = 5e3 + 7;
const int inf32 = 1e9 + 7;
template <typename T> void maximize(T &a, T b){if(a < b) a = b;}
template <typename T> void minimize(T &a, T b){if(a > b) a = b;}
int n, f[MAXN][MAXN][2], par[MAXN], ans, cnt[MAXN];
int t;
vector<int> a[MAXN], g[MAXN];
void reset(){
ans = 0;
for(int i = 1; i <= n; i++)
for(int j = 1; j <= cnt[i]; j++) f[i][j][0] = f[i][j][1] = -inf32;
fill(cnt + 1, cnt + 1 + n, 0);
fill(par + 1, par + 1 + n , 0);
for(int i = 1; i <= n; i++)a[i].clear(), g[i].clear();
}
void dfsBuild(int u, int p){
for(auto v : a[u]){
if(v == p) continue;
par[v] = u;
dfsBuild(v, u);
}
}
void dfsDP(int u){
f[u][0][0] = f[u][0][1] = 0;
int sum = 0;
for(int i = 1; i <= isz(g[u]) - 1; i++){
int v = g[u][i];
int las_v = g[u][i - 1];
dfsDP(v);
cnt[u] += cnt[v];
int maxi = 0;
for(int cntU = 0; cntU <= cnt[u]; cntU++){
for(int cntV = 0; cntV <= min(cnt[v], cntU); cntV++){
maximize(f[v][cntU][1], f[las_v][cntU - cntV][1] + f[v][cntV][0] + (cntU - cntV) * cntV),
maximize(maxi, f[v][cntV][0] + cntV);
if(i == isz(g[u]) - 1) maximize(f[u][cntU][0], f[v][cntU][1]);
}
if(u == 1) maximize(ans, f[u][cntU][0]);
}
sum += maxi;
}
maximize(cnt[u], 1);
maximize(f[u][1][0], sum);
maximize(ans, f[u][1][0]);
}
signed main() {
ios::sync_with_stdio(false);
cin.tie(0);
cout.tie(0);
// freopen("test.inp", "r", stdin);
// freopen("test.ans", "w", stdout);
cin >> t;
while(t--){
reset();
f[0][0][1] = f[0][0][0] = 0;
cin >> n;
for(int i = 1; i <= n - 1; i++){
int x, y;
cin >> x >> y;
a[x].push_back(y);
a[y].push_back(x);
g[i].push_back(0);
} dfsBuild(1, -1), g[n].push_back(0);
for(int i = 2; i <= n; i++) g[par[i]].push_back(i);
dfsDP(1);
cout << ans << endl;
}
//
// cerr << endl << "--------------------------" << endl;
// cerr << "Time: " << TIME << " s" << endl;
// cerr << "--------------------------" << endl;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CiNkZWZpbmUgZmkgZmlyc3QKI2RlZmluZSBzZSBzZWNvbmQKI2RlZmluZSB2aSBzdGQ6OnZlY3RvcjxpbnQ+CiNkZWZpbmUgaXN6KHYpIChpbnQpIHYuc2l6ZSgpCiNkZWZpbmUgcGlpIHN0ZDo6cGFpcjxpbnQsIGludD4KLy8jZGVmaW5lIGludCBsb25nIGxvbmcKI2RlZmluZSBhbGwodikgdi5iZWdpbigpLCB2LmVuZCgpCiNkZWZpbmUgVElNRSAxLjAgKiBjbG9jaygpIC8gQ0xPQ0tTX1BFUl9TRUMKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKdHlwZWRlZiBsb25nIGxvbmcgbGw7Cgpjb25zdCBpbnQgTUFYTiA9IDVlMyArIDc7CmNvbnN0IGludCBpbmYzMiA9IDFlOSArIDc7Cgp0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4gdm9pZCBtYXhpbWl6ZShUICZhLCBUIGIpe2lmKGEgPCBiKSBhID0gYjt9CnRlbXBsYXRlIDx0eXBlbmFtZSBUPiB2b2lkIG1pbmltaXplKFQgJmEsIFQgYil7aWYoYSA+IGIpIGEgPSBiO30KCmludCBuLCBmW01BWE5dW01BWE5dWzJdLCBwYXJbTUFYTl0sIGFucywgY250W01BWE5dOwppbnQgdDsKdmVjdG9yPGludD4gYVtNQVhOXSwgZ1tNQVhOXTsKCnZvaWQgcmVzZXQoKXsKICAgIGFucyA9IDA7CiAgICBmb3IoaW50IGkgPSAxOyBpIDw9IG47IGkrKykKICAgICAgICBmb3IoaW50IGogPSAxOyBqIDw9IGNudFtpXTsgaisrKSBmW2ldW2pdWzBdID0gZltpXVtqXVsxXSA9IC1pbmYzMjsKICAgIGZpbGwoY250ICsgMSwgY250ICsgMSArIG4sIDApOwogICAgZmlsbChwYXIgKyAxLCBwYXIgKyAxICsgbiAsIDApOwogICAgZm9yKGludCBpID0gMTsgaSA8PSBuOyBpKyspYVtpXS5jbGVhcigpLCBnW2ldLmNsZWFyKCk7Cn0KCnZvaWQgZGZzQnVpbGQoaW50IHUsIGludCBwKXsKICAgIGZvcihhdXRvIHYgOiBhW3VdKXsKICAgICAgICBpZih2ID09IHApIGNvbnRpbnVlOwogICAgICAgIHBhclt2XSA9IHU7CiAgICAgICAgZGZzQnVpbGQodiwgdSk7CiAgICB9Cn0KCnZvaWQgZGZzRFAoaW50IHUpewogICAgZlt1XVswXVswXSA9IGZbdV1bMF1bMV0gPSAwOwogICAgaW50IHN1bSA9IDA7CgogICAgZm9yKGludCBpID0gMTsgaSA8PSBpc3ooZ1t1XSkgLSAxOyBpKyspewogICAgICAgIGludCB2ID0gZ1t1XVtpXTsKICAgICAgICBpbnQgbGFzX3YgPSBnW3VdW2kgLSAxXTsKCiAgICAgICAgZGZzRFAodik7CgogICAgICAgIGNudFt1XSArPSBjbnRbdl07CiAgICAgICAgaW50IG1heGkgPSAwOwoKICAgICAgICBmb3IoaW50IGNudFUgPSAwOyBjbnRVIDw9IGNudFt1XTsgY250VSsrKXsKICAgICAgICAgICAgZm9yKGludCBjbnRWID0gMDsgY250ViA8PSBtaW4oY250W3ZdLCBjbnRVKTsgY250VisrKXsKICAgICAgICAgICAgICAgIG1heGltaXplKGZbdl1bY250VV1bMV0sIGZbbGFzX3ZdW2NudFUgLSBjbnRWXVsxXSArIGZbdl1bY250Vl1bMF0gKyAoY250VSAtIGNudFYpICogY250ViksCiAgICAgICAgICAgICAgICBtYXhpbWl6ZShtYXhpLCBmW3ZdW2NudFZdWzBdICsgY250Vik7CgogICAgICAgICAgICAgICAgaWYoaSA9PSBpc3ooZ1t1XSkgLSAxKSBtYXhpbWl6ZShmW3VdW2NudFVdWzBdLCBmW3ZdW2NudFVdWzFdKTsKCiAgICAgICAgICAgIH0KICAgICAgICAgICAgaWYodSA9PSAxKSBtYXhpbWl6ZShhbnMsIGZbdV1bY250VV1bMF0pOwogICAgICAgIH0KCiAgICAgICAgc3VtICs9IG1heGk7CgogICAgfQogICAgbWF4aW1pemUoY250W3VdLCAxKTsKCiAgICBtYXhpbWl6ZShmW3VdWzFdWzBdLCBzdW0pOwogICAgbWF4aW1pemUoYW5zLCBmW3VdWzFdWzBdKTsKCn0KCnNpZ25lZCBtYWluKCkgewogICAgaW9zOjpzeW5jX3dpdGhfc3RkaW8oZmFsc2UpOwogICAgY2luLnRpZSgwKTsKICAgIGNvdXQudGllKDApOwoKLy8gICAgZnJlb3BlbigidGVzdC5pbnAiLCAiciIsIHN0ZGluKTsKLy8gICAgZnJlb3BlbigidGVzdC5hbnMiLCAidyIsIHN0ZG91dCk7CgogICAgY2luID4+IHQ7CgogICAgd2hpbGUodC0tKXsKCiAgICAgICAgcmVzZXQoKTsKICAgICAgICBmWzBdWzBdWzFdID0gZlswXVswXVswXSA9IDA7CgogICAgICAgIGNpbiA+PiBuOwoKICAgICAgICBmb3IoaW50IGkgPSAxOyBpIDw9IG4gLSAxOyBpKyspewogICAgICAgICAgICBpbnQgeCwgeTsKICAgICAgICAgICAgY2luID4+IHggPj4geTsKICAgICAgICAgICAgYVt4XS5wdXNoX2JhY2soeSk7CiAgICAgICAgICAgIGFbeV0ucHVzaF9iYWNrKHgpOwogICAgICAgICAgICBnW2ldLnB1c2hfYmFjaygwKTsKICAgICAgICB9IGRmc0J1aWxkKDEsIC0xKSwgZ1tuXS5wdXNoX2JhY2soMCk7CgogICAgICAgIGZvcihpbnQgaSA9IDI7IGkgPD0gbjsgaSsrKSBnW3BhcltpXV0ucHVzaF9iYWNrKGkpOwogICAgICAgIGRmc0RQKDEpOwoKICAgICAgICBjb3V0IDw8IGFucyA8PCBlbmRsOwoKCiAgICB9Ci8vCi8vICAgIGNlcnIgPDwgZW5kbCA8PCAiLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0iIDw8IGVuZGw7Ci8vICAgIGNlcnIgPDwgIlRpbWU6ICIgPDwgVElNRSA8PCAiIHMiIDw8IGVuZGw7Ci8vICAgIGNlcnIgPDwgIi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIiA8PCBlbmRsOwoKfQo=