from itertools import accumulate N = int(input()) A = list(map(int,input().split())) l = list(accumulate(A, min)) r = list(accumulate(A[::-1], min))[::-1] INF = 10**18 ans = INF for i in range(1,N-1): a,b,c = l[i-1],A[i],r[i+1] if a <= b and c <= b: ans = min(ans,a+b+c) if a >= b and c >= b: ans = min(ans,a+b+c) if ans == INF: print(-1) else: print(ans)