#t = int(input()) t = 1 def check(x): su = 0 cur = 0 for i in range(n): su = a[i] if su >= x: cur += i break su = 0 for i in range(n-1,-1,-1): su = L-a[i] if su >= x: cur += (n-1-i) break if cur <= n-k: return True return False for _ in range(t): n,L = map(int, input().split()) k = int(input()) a = list(map(int, input().split())) l = 0 r = L while l+1< r: m = (l+r)//2 if check(m): l = m else: r = m print(l)