N = int(input()) A = list(map(int, input().split())) INF = 1<<60 MAX = 5000 if N <= 20: MAX *= N elif N <= 200: MAX *= 10 else: MAX *= 2 dp = [[INF]*(MAX*2+1) for _ in range(N+1)] dp[0][MAX] = 0 ans = INF for i in range(N): for j in range(MAX*2+1): if dp[i][j] == INF: continue dp[i+1][j] = min(dp[i+1][j], dp[i][j]) if j+A[i] <= MAX*2: if j+A[i] == MAX: ans = min(ans, dp[i][j]+A[i]) dp[i+1][j+A[i]] = min(dp[i+1][j+A[i]], dp[i][j]+A[i]) if A[i] <= j: if j-A[i] == MAX: ans = min(ans, dp[i][j]) dp[i+1][j-A[i]] = min(dp[i+1][j-A[i]], dp[i][j]) if ans < (sum(A)+1)//2: print(sum(A)-ans*2) else: print(-1)