N=int(input())
A=list(map(int,input().strip().split()))
A.sort()

def gcd(a,b):
    while True:
        r=a%b
        if r==0:
            break
        a=b
        b=r
    return b

ans=A[0]
for n in range(N):
    ans=gcd(ans,A[n])

print(ans) N=int(input()) N int(input()) int input() input A=list(map(int,input().strip().split())) A list(map(int,input().strip().split())) list map(int,input().strip().split()) map int input().strip().split() ().strip().split ().strip() ().strip () input strip split A.sort() A.sort A sort def gcd(a,b):
    while True:
        r=a%b
        if r==0:
            break
        a=b
        b=r
    return b gcd while True:
        r=a%b
        if r==0:
            break
        a=b
        b=r
     True r=a%b r a%b a b if r==0:
            break
         r==0 r 0 break a=b a b b=r b r return b b a a b b ans=A[0] ans A[0] A 0 for n in range(N):
    ans=gcd(ans,A[n]) n range(N) range N ans=gcd(ans,A[n]) ans gcd(ans,A[n]) gcd ans A[n] A n print(ans) print ans A=list(map(int,input().strip().split())) list(map(int,input().strip().split())) A ans=A[0] A[0] ans def gcd(a,b):
    while True:
        r=a%b
        if r==0:
            break
        a=b
        b=r
    return b def gcd(a,b):
    while True:
        r=a%b
        if r==0:
            break
        a=b
        b=r
    return b gcd N=int(input()) int(input()) N ans=gcd(ans,A[n]) gcd(ans,A[n]) ans
N=int(input())
A=list(map(int,input().strip().split()))
A.sort()

def gcd(a,b):
    while True:
        r=a%b
        if r==0:
            break
        a=b
        b=r
    return b

ans=A[0]
for n in range(N):
    ans=gcd(ans,A[n])

print(ans)