#include <bits/stdc++.h>
using namespace std;
// Speed
#define fast_io ios::sync_with_stdio(0); cin.tie(0); cout.tie(0)
// Typedefs
#define int long long
#define pb push_back
#define ff first
#define ss second
#define all(x) (x).begin(), (x).end()
#define rall(x) (x).rbegin(), (x).rend()
#define sz(x) ((int)(x).size())
#define endl '\n'
// Loops
#define rep(i,a,b) for(int i=a;i<b;++i)
#define per(i,a,b) for(int i=b-1;i>=a;--i)
// Consts
const int INF = 1e18;
const int MOD = 1e9+7;
const int N = 2e5 + 5;
// Logic
void solve() {
int n;
cin >> n;
vector<int> a(n);
rep(i, 0, n) cin >> a[i];
sort(rall(a));
// For symmetry and strictly convex, we try even lengths (2k) as sides for regular polygons
int max_perimeter = 0;
// Try largest possible even/odd m, starting from n down to 3 (polygon needs at least 3 sides)
for (int m = n; m >= 3; --m) {
// symmetry: for regular polygons, all sides equal,
// otherwise, even-length palindromes are possible, but for maximum perimeter, longest sides are preferable
// So: for m, check if we can use the first m (all must fit polygon inequality).
int sum = 0;
rep(i, 0, m) sum += a[i];
// Check polygon condition: largest < sum of others
if (a[0] < sum - a[0]) {
max_perimeter = sum;
break; // Largest valid perimeter
}
}
cout << max_perimeter << endl;
}
// Main
int32_t main() {
fast_io;
int t = 1;
cin >> t;
while (t--) {
solve();
}
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgovLyBTcGVlZAojZGVmaW5lIGZhc3RfaW8gaW9zOjpzeW5jX3dpdGhfc3RkaW8oMCk7IGNpbi50aWUoMCk7IGNvdXQudGllKDApCgovLyBUeXBlZGVmcwojZGVmaW5lIGludCBsb25nIGxvbmcKI2RlZmluZSBwYiBwdXNoX2JhY2sKI2RlZmluZSBmZiBmaXJzdAojZGVmaW5lIHNzIHNlY29uZAojZGVmaW5lIGFsbCh4KSAoeCkuYmVnaW4oKSwgKHgpLmVuZCgpCiNkZWZpbmUgcmFsbCh4KSAoeCkucmJlZ2luKCksICh4KS5yZW5kKCkKI2RlZmluZSBzeih4KSAoKGludCkoeCkuc2l6ZSgpKQojZGVmaW5lIGVuZGwgJ1xuJwoKLy8gTG9vcHMKI2RlZmluZSByZXAoaSxhLGIpIGZvcihpbnQgaT1hO2k8YjsrK2kpCiNkZWZpbmUgcGVyKGksYSxiKSBmb3IoaW50IGk9Yi0xO2k+PWE7LS1pKQoKLy8gQ29uc3RzCmNvbnN0IGludCBJTkYgPSAxZTE4Owpjb25zdCBpbnQgTU9EID0gMWU5Kzc7CmNvbnN0IGludCBOID0gMmU1ICsgNTsKCi8vIExvZ2ljCnZvaWQgc29sdmUoKSB7CiAgICBpbnQgbjsKICAgIGNpbiA+PiBuOwogICAgdmVjdG9yPGludD4gYShuKTsKICAgIHJlcChpLCAwLCBuKSBjaW4gPj4gYVtpXTsKICAgIHNvcnQocmFsbChhKSk7CgogICAgLy8gRm9yIHN5bW1ldHJ5IGFuZCBzdHJpY3RseSBjb252ZXgsIHdlIHRyeSBldmVuIGxlbmd0aHMgKDJrKSBhcyBzaWRlcyBmb3IgcmVndWxhciBwb2x5Z29ucwogICAgaW50IG1heF9wZXJpbWV0ZXIgPSAwOwogICAgLy8gVHJ5IGxhcmdlc3QgcG9zc2libGUgZXZlbi9vZGQgbSwgc3RhcnRpbmcgZnJvbSBuIGRvd24gdG8gMyAocG9seWdvbiBuZWVkcyBhdCBsZWFzdCAzIHNpZGVzKQogICAgZm9yIChpbnQgbSA9IG47IG0gPj0gMzsgLS1tKSB7CiAgICAgICAgLy8gc3ltbWV0cnk6IGZvciByZWd1bGFyIHBvbHlnb25zLCBhbGwgc2lkZXMgZXF1YWwsCiAgICAgICAgLy8gb3RoZXJ3aXNlLCBldmVuLWxlbmd0aCBwYWxpbmRyb21lcyBhcmUgcG9zc2libGUsIGJ1dCBmb3IgbWF4aW11bSBwZXJpbWV0ZXIsIGxvbmdlc3Qgc2lkZXMgYXJlIHByZWZlcmFibGUKICAgICAgICAvLyBTbzogZm9yIG0sIGNoZWNrIGlmIHdlIGNhbiB1c2UgdGhlIGZpcnN0IG0gKGFsbCBtdXN0IGZpdCBwb2x5Z29uIGluZXF1YWxpdHkpLgogICAgICAgIGludCBzdW0gPSAwOwogICAgICAgIHJlcChpLCAwLCBtKSBzdW0gKz0gYVtpXTsKICAgICAgICAvLyBDaGVjayBwb2x5Z29uIGNvbmRpdGlvbjogbGFyZ2VzdCA8IHN1bSBvZiBvdGhlcnMKICAgICAgICBpZiAoYVswXSA8IHN1bSAtIGFbMF0pIHsKICAgICAgICAgICAgbWF4X3BlcmltZXRlciA9IHN1bTsKICAgICAgICAgICAgYnJlYWs7IC8vIExhcmdlc3QgdmFsaWQgcGVyaW1ldGVyCiAgICAgICAgfQogICAgfQogICAgY291dCA8PCBtYXhfcGVyaW1ldGVyIDw8IGVuZGw7Cn0KCi8vIE1haW4KaW50MzJfdCBtYWluKCkgewogICAgZmFzdF9pbzsKICAgIGludCB0ID0gMTsKICAgIGNpbiA+PiB0OwogICAgd2hpbGUgKHQtLSkgewogICAgICAgIHNvbHZlKCk7CiAgICB9CiAgICByZXR1cm4gMDsKfQo=