#include <bits/stdc++.h>
template <class T>
bool chmin(T& a, const T& b) {
  return b < a ? a = b, 1 : 0;
}
template <class T>
bool chmax(T& a, const T& b) {
  return a < b ? a = b, 1 : 0;
}
using namespace std;
const int INF = 0x3f3f3f3f;
const long long LNF = 9223372036854775807;
inline int gcd(int a, int b) { return b ? gcd(b, a % b) : a; }
inline long long gcd(long long a, long long b) { return b ? gcd(b, a % b) : a; }
inline int lcm(int a, int b) { return a * b / gcd(a, b); }
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(NULL);
  int t = 1;
  cin >> t;
  while (t--) {
    int n;
    cin >> n;
    long long a[n];
    for (int i = int(0); i < int(n); ++i) cin >> a[i];
    sort(a, a + n);
    long long ans = -LNF;
    for (int i = 0; i <= 4; i += 2) {
      long long temp = 1;
      for (int j = int(n - 1); j > int(n - 1 - 5 + i); j--) {
        temp *= a[j];
      }
      for (int k = int(0); k < int(i); ++k) {
        temp *= a[k];
      }
      ans = max(ans, temp);
    }
    cout << ans << '\n';
  }
  return 0;
}
