#include <bits/stdc++.h>
#define all(x) (x).begin(), (x).end()
#define ll long long
using namespace std;
int main() {
ios_base::sync_with_stdio(false);
cin.tie(nullptr);
int t;
cin >> t;
while (t--) {
int n;
cin >> n;
vector<int> a(n);
ll mx = 0;
for (int i = 0; i < n; ++i) {
cin >> a[i];
if ((ll)a[i] > mx) mx = a[i];
}
vector<int> b;
b.reserve(n);
for (int i = 0; i < n; ++i) {
if (a[i] <= n) b.push_back(a[i]);
}
sort(b.begin(), b.end());
int m = 0;
for (int x : b) {
if (x == m) ++m;
else if (x > m) break;
}
if (m == 0) {
cout << (ll)n * mx << '\n';
continue;
}
ll best = 0;
for (int k = 0; k <= m; ++k) {
ll kk = k;
ll mm = m;
ll nn = n;
ll cur;
if (k == m) {
cur = mm * mm + (nn - mm) * (mm + mx);
} else {
ll sumMex = kk * kk;
ll sumFromKtoM = (mm + kk) * (mm - kk + 1) / 2;
cur = sumMex + sumFromKtoM + mm * (nn - mm - 1) + (nn - kk) * mx;
}
if (cur > best) best = cur;
}
cout << best << '\n';
}
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CiNkZWZpbmUgYWxsKHgpICh4KS5iZWdpbigpLCAoeCkuZW5kKCkKI2RlZmluZSBsbCBsb25nIGxvbmcKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCmludCBtYWluKCkgewogICAgaW9zX2Jhc2U6OnN5bmNfd2l0aF9zdGRpbyhmYWxzZSk7CiAgICBjaW4udGllKG51bGxwdHIpOwogICAgCiAgICBpbnQgdDsKICAgIGNpbiA+PiB0OwogICAgd2hpbGUgKHQtLSkgewogICAgICAgIGludCBuOwogICAgICAgIGNpbiA+PiBuOwogICAgICAgIHZlY3RvcjxpbnQ+IGEobik7CiAgICAgICAgbGwgbXggPSAwOwogICAgICAgIGZvciAoaW50IGkgPSAwOyBpIDwgbjsgKytpKSB7CiAgICAgICAgICAgIGNpbiA+PiBhW2ldOwogICAgICAgICAgICBpZiAoKGxsKWFbaV0gPiBteCkgbXggPSBhW2ldOwogICAgICAgIH0KICAgICAgICAKICAgICAgICB2ZWN0b3I8aW50PiBiOwogICAgICAgIGIucmVzZXJ2ZShuKTsKICAgICAgICBmb3IgKGludCBpID0gMDsgaSA8IG47ICsraSkgewogICAgICAgICAgICBpZiAoYVtpXSA8PSBuKSBiLnB1c2hfYmFjayhhW2ldKTsKICAgICAgICB9CiAgICAgICAgc29ydChiLmJlZ2luKCksIGIuZW5kKCkpOwogICAgICAgIAogICAgICAgIGludCBtID0gMDsKICAgICAgICBmb3IgKGludCB4IDogYikgewogICAgICAgICAgICBpZiAoeCA9PSBtKSArK207CiAgICAgICAgICAgIGVsc2UgaWYgKHggPiBtKSBicmVhazsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgaWYgKG0gPT0gMCkgewogICAgICAgICAgICBjb3V0IDw8IChsbCluICogbXggPDwgJ1xuJzsKICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgfQogICAgICAgIAogICAgICAgIGxsIGJlc3QgPSAwOwogICAgICAgIGZvciAoaW50IGsgPSAwOyBrIDw9IG07ICsraykgewogICAgICAgICAgICBsbCBrayA9IGs7CiAgICAgICAgICAgIGxsIG1tID0gbTsKICAgICAgICAgICAgbGwgbm4gPSBuOwogICAgICAgICAgICBsbCBjdXI7CiAgICAgICAgICAgIGlmIChrID09IG0pIHsKICAgICAgICAgICAgICAgIGN1ciA9IG1tICogbW0gKyAobm4gLSBtbSkgKiAobW0gKyBteCk7CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICBsbCBzdW1NZXggPSBrayAqIGtrOwogICAgICAgICAgICAgICAgbGwgc3VtRnJvbUt0b00gPSAobW0gKyBraykgKiAobW0gLSBrayArIDEpIC8gMjsKICAgICAgICAgICAgICAgIGN1ciA9IHN1bU1leCArIHN1bUZyb21LdG9NICsgbW0gKiAobm4gLSBtbSAtIDEpICsgKG5uIC0ga2spICogbXg7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgaWYgKGN1ciA+IGJlc3QpIGJlc3QgPSBjdXI7CiAgICAgICAgfQogICAgICAgIAogICAgICAgIGNvdXQgPDwgYmVzdCA8PCAnXG4nOwogICAgfQogICAgCiAgICByZXR1cm4gMDsKfQo=