#include<bits/stdc++.h>
using namespace std;
#define endl '\n'
#define ll long long int
#define vv vector<long long>
#define dq deque<long long>
#define mpp map<long long,long long>
#define ms multiset<long long>
#define ss set<long long>
#define vpp vector<pair<long long, long long>>
#define MOD 1000000007
#define YES cout<<"YES"<<endl
#define NO cout<<"NO"<<endl
#define all(a) a.begin(),a.end()
#define sort_rev(a) sort(a.rbegin(),a.rend())
#define all_n for(int i=0;i<n;i++)
#define print(a) for(auto it:a)cout<<it<<" "
#define print_pair(a) for(auto it:a)cout<<it.first<<" "<<it.second<<endl
#define scan(a,n) for(int i=0;i<n;i++)cin>>a[i]
void requisite(){
ios::sync_with_stdio(false);
cin.tie(nullptr);cout.tie(nullptr);
}
void solve(){
ll n;cin>>n;
vv v(n);
scan(v,n);
sort(all(v));
mpp mp;
ll count=0;
vv a;
for (int i = 0; i < n; ++i) {
mp[v[i]]++;
}
while (mp.count(-1) and mp.count(1) and mp[-1] >= 2 and mp[1] > 0){
mp[-1]-=2;
mp[1]--;
count++;
}
for(auto it:mp){
for (int i = 0; i < it.second; ++i) {
a.push_back(it.first);
}
}
for (int i = 0; i < a.size(); i+=3) {
count+=(a[i]*a[i+1]*a[i+2]);
}
cout<<count<<endl;
}
int main() {
requisite();
ll t=1;
cin>>t;
while (t--){
solve();
}
return 0;
}