피터는 오늘 정수 집합의 최대공약수를 배웠다. 이 개념이 마음에 쏙 들어서 이제는 무엇을 보든 최대공약수를 찾으려 한다.
오늘 컴퓨터 과학 수업에서 선생님이 칠판에 정수 배열을 적었다. 피터는 이 배열의 원소를 두 부분 M1과 M2로 나누면 gcd(M1)과 gcd(M2)가 둘 다 꽤 커진다는 사실을 알아차렸다. 여기서 gcd(M)은 M에 속한 모든 수의 최대공약수다.
피터는 이 문제를 일반화하기로 했다. 배열이 주어지면 모든 원소를 비어 있지 않은 두 부분 M1과 M2로 나눈다. 원소 하나는 정확히 한 부분에만 들어간다. min(gcd(M1),gcd(M2))가 최대가 되도록 나누고, 그 최댓값을 출력한다.
입력은 여러 개의 테스트로 이루어진다. 첫째 줄에 테스트의 개수 t가 주어진다 (1≤t≤1000).
각 테스트는 두 줄로 주어진다. 첫째 줄에는 배열의 크기 n이 주어진다 (2≤n≤5×104). 둘째 줄에는 배열의 원소 ai가 n개 주어진다 (1≤ai≤109).
한 입력에 들어 있는 모든 테스트의 n을 더한 값은 5×104을 넘지 않는다.
각 테스트마다 min(gcd(M1),gcd(M2))의 최댓값을 한 줄에 하나씩 출력한다.