Ksusha is a beginner coder. Today she starts studying arrays. She has array *a*<sub class="lower-index">1</sub>, *a*<sub class="lower-index">2</sub>, ..., *a*<sub class="lower-index">*n*</sub>, consisting of *n* positive integers.

Her university teacher gave her a task. Find such number in the array, that all array elements are divisible by it. Help her and find the number!
The first line contains integer *n* (1 ≤ *n* ≤ 10<sup class="upper-index">5</sup>), showing how many numbers the array has. The next line contains integers *a*<sub class="lower-index">1</sub>, *a*<sub class="lower-index">2</sub>, ..., *a*<sub class="lower-index">*n*</sub> (1 ≤ *a*<sub class="lower-index">*i*</sub> ≤ 10<sup class="upper-index">9</sup>) — the array elements.
fast=lambda:stdin.readline().strip()
zzz=lambda:[int(i) for i in fast().split()]
z,zz=input,lambda:list(map(int,z().split()))
szz,graph,mod,szzz=lambda:sorted(zz()),{},10**9+7,lambda:sorted(zzz())
from re import *
from sys import *
from math import *
from heapq import *
from queue import *
from bisect import *
from string import *
from itertools import *
from collections import *
from math import factorial as f
from bisect import bisect as bs
from bisect import bisect_left as bsl
from collections import Counter as cc
from itertools import accumulate as ac
def lcd(xnum1,xnum2):return (xnum1*xnum2//gcd(xnum1,xnum2))
def output(answer):stdout.write(str(answer))
def take():input=open('input.txt', 'r');stdout=open('output.txt', 'w')
###########################---Test-Case---#################################
"""

  If you think, You Know me, Then you probably don't know me !


"""
###########################---START-CODING---##############################

z()
arr=szzz()

g=arr[0]
for i in arr[1:]:
    g=gcd(g,i)

if arr[0]!=g:
    print(-1)
    exit()
print(g)











