#define M 100
int abc(int p[100)
{
int i;
int j;
int flag=1;
int max=0,m=0;
for(i=0;i<100;i++)
if (a[i]>max) max=a[i];
for(i=1;i<max;i++)
{
for(j=0;j<100,flag=1;j++)
if(a[j]%i!=0) flag=0;
if flag=1,m=a[j];
}
return(m);
}
main()
{
int a[M];
int i,m;
while(m!=0)
{
scanf("%d",m);
if (m>M) m=0;
)
for(i=0;i<m;i++)
scanf("%d",&a[i]);
printf("%d",abc(a));
}
int abc(int p[100)
{
int i;
int j;
int flag=1;
int max=0,m=0;
for(i=0;i<100;i++)
if (a[i]>max) max=a[i];
for(i=1;i<max;i++)
{
for(j=0;j<100,flag=1;j++)
if(a[j]%i!=0) flag=0;
if flag=1,m=a[j];
}
return(m);
}
main()
{
int a[M];
int i,m;
while(m!=0)
{
scanf("%d",m);
if (m>M) m=0;
)
for(i=0;i<m;i++)
scanf("%d",&a[i]);
printf("%d",abc(a));
}