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)