#include <iostream>
#include <stdio.h>
using namespace std;
// 最大公约数
long long gcd(long long a, long long b)
{
if (a < b) // 通过异或交换a和b而不创造第三个变量,保证 a>=b
{
a ^= b;
b ^= a;
a ^= b;
}
return b == 0 ? a : gcd(b, a%b);
}
// 最小公倍数 = a*b / a和b的最大公约数
long long lcm(long long a, long long b)
{
return a*b / gcd(a, b);
}
int main()
{
int t;
scanf("%d", &t);
while (t--)
{
long long n;
scanf("%lld", &n);
long long x, y, flag = 0;
for (int j = 0; j < n; j++)
{
scanf("%lld", &x);
if (!flag)
{
y = gcd(x, x);
flag = 1;
}
else y = gcd(x, y);
}
printf("%lld\n", y);
}
return 0;
}