n=input()
s=list(map(int,input().split()))
suyinzilist=[]
path=[]
tmp=[]  
def sushu(k):  #判断是否为素数
    for i in range(2,int(k*0.5)+1):
        if k%i==0:
            return False
    return True
def suyinzi(m): #求数字的素因子
    yzlist=[]
    for i in range(2,m+1):
        while m%i==0:
            if i not in yzlist and sushu(i):
                yzlist.append(i)
            m=m//i
    return yzlist
def sou(suyinzilist,tmp): #顺序搜索,搜索成功的结果添加到path列表中
    if not suyinzilist:
        path.append(tmp)
        return True
    else:
        for i in suyinzilist[0]:
            if i not in tmp:
                sou(suyinzilist[1:],tmp+[i])

for i in s: #素因子列表suyinzilist
    suyinzilist.append(suyinzi(i))
    
sou(suyinzilist,tmp) 

if len(path)==0:
    print('-1')
    exit()    
minsum=sum(path[0])
for i in path:
    minsum=min(minsum,sum(i))
print(minsum)