#include <stdio.h>
// 두 수의 최대 공약수 구하기
int get_GCD(int x, int y){
int min = x<y?x:y;
int gcd = 0;
for(int k = 1; k <= min; k++){
if((x % k == 0)&&(y % k == 0)){
gcd = k;
}
}
return gcd;
}
int main(void){
// 테스트 케이스 입력받기
int test_case = 0;
scanf("%d", &test_case);
for(int i = 0; i < test_case; i++){
int arr_m[100] = {0};
int j = 0, max = 0;
// \n 이 나올 때 까지 입력받기
do {
int num = 0;
scanf("%d", &num);
arr_m[j++] = num;
}
while(getchar() != '\n');
// 모든 두 수의 쌍 중에서 가장 큰 최대공약수 찾기
int g_max = 0;
for(int x = 0; x < j; x++){
for(int y = x+1; y < j; y++){
int gcd = get_GCD(arr_m[x], arr_m[y]);
if(gcd > g_max){
g_max = gcd;
}
}
}
// 출력
printf("%d\n", g_max);
}
return 0;
}