from collections import deque import sys input = sys.stdin.buffer.readline sys.setrecursionlimit(10 ** 7) N, M = map(int, input().split()) A = int(input()) B = [int(input()) for _ in range(N - 1)] B.sort() def F(x): C = deque() for i, b in enumerate(B): if i == x: continue C.append(b) score = A + B[x] cnt = 0 while C: R = C.pop() while C: L = C.popleft() if R + L > score: cnt += 1 break return cnt >= M l = -1 r = N-1 while (r - l) > 1: m = (r + l) // 2 if F(m): l = m else: r = m if r == N - 1: print(-1) else: print(B[r])