N, M = list(map(int, input().split(' '))) A = [] for i in range(N): A.append(int(input())) K = A[0] A = sorted(A, reverse=True) used = [False for _ in range(len(A))] done = 0 for i in range(len(A)-2): for j in reversed(range(len(A))): if not used[j]: x = A[i] + A[j] y = A[i+1] + A[i+2] if y <= x: if (A[i] == K or A[j] == K) and done < M: print(x - K) exit(0) else: done = done + 1 used[j] = True print(-1)