import heapq N = int(input()) A = [int(a) for a in input().split()] ans = 10**9 l = A[0] h = [] for i in range(2, N): heapq.heappush(h, (A[i], i)) for i in range(1, N-1): while len(h) > 0 and h[0][1] <= i: heapq.heappop(h) if len(h) == 0: break if l < A[i] and h[0][0] < A[i]: ans = min(ans, l+A[i]+h[0][0]) elif A[i] < l and A[i] < h[0][0]: ans = min(ans, l+A[i]+h[0][0]) l = min(l, A[i]) if ans == 10**9: ans = -1 print(ans)