# Process input
n = int(input())
ax = list(map(int, input().split()))
# Functions
def prime_factors(n):
factors = set()
d = 2
while d*d <= n:
while (n % d) == 0:
factors.add(d)
n //= d
d += 1
if n > 1:
factors.add(n)
return list(factors)
def dfs(arr, i, used, acc):
if i == len(arr):
return acc
factors = prime_factors(arr[i])
minVal = 99999
for factor in factors:
if factor in used:
continue
used.add(factor)
val = dfs(arr, i+1, used, acc+factor)
used.remove(factor)
minVal = min(val, minVal)
return minVal
# Invoke and output
res = dfs(ax, 0, set(), 0)
if res == 99999:
res = -1
print(res)