n,m=map(int,input().split()) A=[int(input()) for _ in range(n)] A=[A[0]]+sorted(A[1:]) def check(x): k_score=A[0]+A[x] l,r=1,n-1 cnt=0 while lk_score: l+=1 r-=1 cnt+=1 elif A[l]+A[r]<=k_score: l+=1 return cnt1: mid=(ok+ng)//2 if check(mid):ok=mid else:ng=mid print(A[ok] if ok!=n else -1)