N, K, P = map(int, input().split()) A = list(map(int, input().split())) B = list(map(int, input().split())) A.sort() B.sort() X = [0]*N for i in range(N): l, r = 0, N d = N // 2 if A[i] + B[0] >= P: continue while r - l > 1: if A[i] + B[d] < P: l = d else: r = d d = (l + r) // 2 X[i] = d + 1 L, R = 0, P D = P // 2 while R - L > 1: cnt = 0 for i in range(N): if A[i] + B[0] < D: l, r = 0, N d = N // 2 while r - l > 1: if A[i] + B[d] < D: l = d else: r = d d = (l + r) // 2 cnt += d + 1 if A[i] + B[0] < D + P: l, r = 0, N d = N // 2 while r - l > 1: if A[i] + B[d] < D + P: l = d else: r = d d = (l + r) // 2 cnt += d + 1 - X[i] if cnt < K: L = D else: R = D D = (L + R) // 2 print(D)