def solve(): INF = 10**18 N = int(input()) A = list(map(int, input().split())) M = max(A) m = min(A) if 0 in A: print(0) else: if M > 0 and m > 0: print(M * m) elif M < 0 and m < 0: print(M * m) else: p, q = -INF, INF for a in A: if a < 0: p = max(p, a) else: q = min(q, a) print(p*q) for _ in range(int(input())): solve()