n=int(input())
a=[int(i) for i in input().split()]
from functools import lru_cache

@lru_cache(None)
def is_prime(x):#x>=2
    if x<=3:
        return True
    if x%2==0:
        return False
    limit=int(x**0.5) #只试除奇数到sqrt(x)
    for num in range(3,limit+1,2):
        if x%num==0:
            return False
    return True


used=set()
min_sum=float('inf')
def dfs(index, cur_sum):
    global min_sum
    if cur_sum>=min_sum:
        return
    if index==n:
        min_sum=cur_sum
        return 
    x=a[index]
    for num in range(2,x+1):
        if x%num==0 and (num not in used) and is_prime(num):
            used.add(num)
            dfs(index+1,cur_sum+num)
            used.remove(num)


dfs(0,0)
print(-1 if min_sum==float('inf') else min_sum)