#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;
memset(f, -0x3f, sizeof(f));
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);
if(u == 1) maximize(ans, f[u][1][0]);
}
signed main() {
ios::sync_with_stdio(false);
cin.tie(0);
cout.tie(0);
cin >> t;
while(t--){
reset();
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;
}
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CiNkZWZpbmUgZmkgZmlyc3QKI2RlZmluZSBzZSBzZWNvbmQKI2RlZmluZSB2aSBzdGQ6OnZlY3RvcjxpbnQ+CiNkZWZpbmUgaXN6KHYpIChpbnQpIHYuc2l6ZSgpCiNkZWZpbmUgcGlpIHN0ZDo6cGFpcjxpbnQsIGludD4KLy8jZGVmaW5lIGludCBsb25nIGxvbmcKI2RlZmluZSBhbGwodikgdi5iZWdpbigpLCB2LmVuZCgpCiNkZWZpbmUgVElNRSAxLjAgKiBjbG9jaygpIC8gQ0xPQ0tTX1BFUl9TRUMKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKdHlwZWRlZiBsb25nIGxvbmcgbGw7Cgpjb25zdCBpbnQgTUFYTiA9IDVlMyArIDc7CmNvbnN0IGludCBpbmYzMiA9IDFlOSArIDc7Cgp0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4gdm9pZCBtYXhpbWl6ZShUICZhLCBUIGIpe2lmKGEgPCBiKSBhID0gYjt9CnRlbXBsYXRlIDx0eXBlbmFtZSBUPiB2b2lkIG1pbmltaXplKFQgJmEsIFQgYil7aWYoYSA+IGIpIGEgPSBiO30KCmludCBuLCBmW01BWE5dW01BWE5dWzJdLCBwYXJbTUFYTl0sIGFucywgY250W01BWE5dOwppbnQgdDsKdmVjdG9yPGludD4gYVtNQVhOXSwgZ1tNQVhOXTsKCnZvaWQgcmVzZXQoKXsKICAgIGFucyA9IDA7CiAgICBtZW1zZXQoZiwgLTB4M2YsIHNpemVvZihmKSk7CiAgICBmaWxsKGNudCArIDEsIGNudCArIDEgKyBuLCAwKTsKICAgIGZpbGwocGFyICsgMSwgcGFyICsgMSArIG4gLCAwKTsKICAgIGZvcihpbnQgaSA9IDE7IGkgPD0gbjsgaSsrKWFbaV0uY2xlYXIoKSwgZ1tpXS5jbGVhcigpOwp9Cgp2b2lkIGRmc0J1aWxkKGludCB1LCBpbnQgcCl7CiAgICBmb3IoYXV0byB2IDogYVt1XSl7CiAgICAgICAgaWYodiA9PSBwKSBjb250aW51ZTsKICAgICAgICBwYXJbdl0gPSB1OwogICAgICAgIGRmc0J1aWxkKHYsIHUpOwogICAgfQp9Cgp2b2lkIGRmc0RQKGludCB1KXsKICAgIGZbdV1bMF1bMF0gPSBmW3VdWzBdWzFdID0gMDsKICAgIGludCBzdW0gPSAwOwoKICAgIGZvcihpbnQgaSA9IDE7IGkgPD0gaXN6KGdbdV0pIC0gMTsgaSsrKXsKICAgICAgICBpbnQgdiA9IGdbdV1baV07CiAgICAgICAgaW50IGxhc192ID0gZ1t1XVtpIC0gMV07CgogICAgICAgIGRmc0RQKHYpOwoKICAgICAgICBjbnRbdV0gKz0gY250W3ZdOwogICAgICAgIGludCBtYXhpID0gMDsKCiAgICAgICAgZm9yKGludCBjbnRVID0gMDsgY250VSA8PSBjbnRbdV07IGNudFUrKyl7CiAgICAgICAgICAgIGZvcihpbnQgY250ViA9IDA7IGNudFYgPD0gbWluKGNudFt2XSwgY250VSk7IGNudFYrKyl7CiAgICAgICAgICAgICAgICBtYXhpbWl6ZShmW3ZdW2NudFVdWzFdLCBmW2xhc192XVtjbnRVIC0gY250Vl1bMV0gKyBmW3ZdW2NudFZdWzBdICsgKGNudFUgLSBjbnRWKSAqIGNudFYpLAogICAgICAgICAgICAgICAgbWF4aW1pemUobWF4aSwgZlt2XVtjbnRWXVswXSArIGNudFYpOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGlmKGkgPT0gaXN6KGdbdV0pIC0gMSkgbWF4aW1pemUoZlt1XVtjbnRVXVswXSwgZlt2XVtjbnRVXVsxXSk7CiAgICAgICAgICAgIGlmKHUgPT0gMSkgbWF4aW1pemUoYW5zLCBmW3VdW2NudFVdWzBdKTsKICAgICAgICB9CiAgICAgICAgc3VtICs9IG1heGk7CgogICAgfQogICAgbWF4aW1pemUoY250W3VdLCAxKTsKICAgIG1heGltaXplKGZbdV1bMV1bMF0sIHN1bSk7CgogICAgaWYodSA9PSAxKSBtYXhpbWl6ZShhbnMsIGZbdV1bMV1bMF0pOwoKfQoKc2lnbmVkIG1haW4oKSB7CiAgICBpb3M6OnN5bmNfd2l0aF9zdGRpbyhmYWxzZSk7CiAgICBjaW4udGllKDApOwogICAgY291dC50aWUoMCk7CgogICAgY2luID4+IHQ7CgogICAgd2hpbGUodC0tKXsKCiAgICAgICAgcmVzZXQoKTsKICAgICAgICBmWzBdWzBdWzBdID0gMDsKCiAgICAgICAgY2luID4+IG47CgogICAgICAgIGZvcihpbnQgaSA9IDE7IGkgPD0gbiAtIDE7IGkrKyl7CiAgICAgICAgICAgIGludCB4LCB5OwogICAgICAgICAgICBjaW4gPj4geCA+PiB5OwogICAgICAgICAgICBhW3hdLnB1c2hfYmFjayh5KTsKICAgICAgICAgICAgYVt5XS5wdXNoX2JhY2soeCk7CiAgICAgICAgICAgIGdbaV0ucHVzaF9iYWNrKDApOwogICAgICAgIH0gZGZzQnVpbGQoMSwgLTEpLCBnW25dLnB1c2hfYmFjaygwKTsKCiAgICAgICAgZm9yKGludCBpID0gMjsgaSA8PSBuOyBpKyspIGdbcGFyW2ldXS5wdXNoX2JhY2soaSk7CiAgICAgICAgZGZzRFAoMSk7CgogICAgICAgIGNvdXQgPDwgYW5zIDw8IGVuZGw7CgogICAgfQoKfQo=