import numpy as np N, K, P = map(int, input().split()) A = list(map(int, input().split())) B = list(map(int, input().split())) s = [0]*(10**7+1) t = [0]*(10**7+1) fft_len = 2**24 for a in A: s[a] += 1 for b in B: t[b] += 1 s = np.array(s, dtype=np.int32) t = np.array(t, dtype=np.int32) Fs = np.fft.rfft(s, fft_len) Ft = np.fft.rfft(t, fft_len) Fst = Fs*Ft st = np.fft.irfft(Fst, fft_len) st = list(np.rint(st)) ans = [0]*P for i, v in enumerate(st): ans[i % P] += v cnt = 0 for i in range(P): cnt += int(ans[i]) if cnt >= K: print(i) break