def gcd(x,y):
    if x < y:
        x,y = y,x
    if x%y == 0:
        return y
        
    return gcd(y,x%y)

n=int(input())

a=list(map(int,input().split()))
ans=a[0]
for i in range(1,len(a)):
    ans = gcd(ans,a[i])
    
print(ans)     def gcd(x,y):
    if x < y:
        x,y = y,x
    if x%y == 0:
        return y
        
    return gcd(y,x%y) gcd if x < y:
        x,y = y,x
     x < y x y x,y = y,x x y y x if x%y == 0:
        return y
        
     x%y == 0 x%y x y 0 return y y return gcd(y,x%y) gcd(y,x%y) gcd y x%y x y x x y y n=int(input()) n int(input()) int input() input a=list(map(int,input().split())) a list(map(int,input().split())) list map(int,input().split()) map int input().split() ().split () input split ans=a[0] ans a[0] a 0 for i in range(1,len(a)):
    ans = gcd(ans,a[i])
     i range(1,len(a)) range 1 len(a) len a ans = gcd(ans,a[i]) ans gcd(ans,a[i]) gcd ans a[i] a i print(ans) print ans n=int(input()) int(input()) n ans = gcd(ans,a[i]) gcd(ans,a[i]) ans a=list(map(int,input().split())) list(map(int,input().split())) a ans=a[0] a[0] ans def gcd(x,y):
    if x < y:
        x,y = y,x
    if x%y == 0:
        return y
        
    return gcd(y,x%y) def gcd(x,y):
    if x < y:
        x,y = y,x
    if x%y == 0:
        return y
        
    return gcd(y,x%y) gcd
def gcd(x,y):
    if x < y:
        x,y = y,x
    if x%y == 0:
        return y
        
    return gcd(y,x%y)

n=int(input())

a=list(map(int,input().split()))
ans=a[0]
for i in range(1,len(a)):
    ans = gcd(ans,a[i])
    
print(ans)    