#include using namespace std; using ll = long long; #define all(x) (x).begin(),(x).end() template ll MIN(const vector&a) { return *min_element(all(a)); } template ll MAX(const vector&a) { return *max_element(all(a)); } int main() { int tt; cin >> tt; while(tt--) { int N; cin >> N; vectorA(N); for(int i = 0; i < N; i++) cin >> A[i]; vectorPOS,NEG; bool f = false; for(int i = 0; i < N; i++) { if(A[i]==0)f=1; else if(A[i]<0)NEG.push_back(A[i]); else POS.push_back(A[i]); } vectorth; if(f)th.push_back(0); if(NEG.size()&&POS.size())th.push_back(MIN(POS)*MAX(NEG)); if(POS.size()>=2) th.push_back(MIN(POS)*MAX(POS)); if(NEG.size()>=2) th.push_back(MIN(NEG)*MAX(NEG)); assert(!th.empty()); cout<