n = int(input()) alst = list(map(int, input().split())) l = [alst[0]] for a in alst[1:-2]: l.append(min(l[-1], a)) r = [alst[-1]] for a in alst[2:-1][::-1]: r.append(min(r[-1], a)) r = r[::-1] inf = 10 ** 10 ans = inf def kado(a, b, c): if b == min(a, b, c) or b == max(a, b, c): return True else: return False for i, a in enumerate(alst[1:-1]): rr = r[i] ll = l[i] if kado(rr, a, ll): ans = min(ans, rr + a + ll) if ans != inf: print(ans) else: print(-1)