def main(): n = int(input()) A = list(map(int, input().split())) N = 10**5 inf = 1<<60 dp = [inf] * (2*N+1) a = A[0] dp[a] = a dp[-a] = a for a in A[1:]: ndp = dp[:] for b in range(-N, N+1): if -N <= b-a: ndp[b-a] = min(ndp[b-a], dp[b]+a) if b+a <= N: ndp[b+a] = min(ndp[b+a], dp[b]+a) dp = ndp #print(dp[-10:] + ["OK"] + dp[:10]) ans = dp[0] if ans < inf and ans != sum(A): return sum(A)-ans else: return -1 print(main())