import java.util.*;
import java.io.*;
public class Main {
public static void main
(String[] args
) { Scanner scanner
= new Scanner
(System.
in); int n = scanner.nextInt();
int m = scanner.nextInt();
long mod = scanner.nextLong();
long[] A = new long[n];
long[] B = new long[m];
for (int i = 0; i < n; i++) {
A[i] = scanner.nextLong() % mod;
}
for (int i = 0; i < m; i++) {
B[i] = scanner.nextLong() % mod;
}
long minB = B[0];
long ans
= Long.
MAX_VALUE;
for (long x : A) {
long t = mod - x;
int idx
= Arrays.
binarySearch(B, t
); if (idx < 0) {
idx = -idx - 1;
}
long candidate1
= Long.
MAX_VALUE; if (idx < m) {
candidate1 = x + B[idx] - mod;
}
long candidate2
= Long.
MAX_VALUE; if (minB < t) {
candidate2 = x + minB;
}
ans
= Math.
min(ans,
Math.
min(candidate1, candidate2
)); }
}
}
aW1wb3J0IGphdmEudXRpbC4qOwppbXBvcnQgamF2YS5pby4qOwoKcHVibGljIGNsYXNzIE1haW4gewogICAgcHVibGljIHN0YXRpYyB2b2lkIG1haW4oU3RyaW5nW10gYXJncykgewogICAgICAgIFNjYW5uZXIgc2Nhbm5lciA9IG5ldyBTY2FubmVyKFN5c3RlbS5pbik7CiAgICAgICAgaW50IG4gPSBzY2FubmVyLm5leHRJbnQoKTsKICAgICAgICBpbnQgbSA9IHNjYW5uZXIubmV4dEludCgpOwogICAgICAgIGxvbmcgbW9kID0gc2Nhbm5lci5uZXh0TG9uZygpOwogICAgICAgIGxvbmdbXSBBID0gbmV3IGxvbmdbbl07CiAgICAgICAgbG9uZ1tdIEIgPSBuZXcgbG9uZ1ttXTsKICAgICAgICAKICAgICAgICBmb3IgKGludCBpID0gMDsgaSA8IG47IGkrKykgewogICAgICAgICAgICBBW2ldID0gc2Nhbm5lci5uZXh0TG9uZygpICUgbW9kOwogICAgICAgIH0KICAgICAgICBmb3IgKGludCBpID0gMDsgaSA8IG07IGkrKykgewogICAgICAgICAgICBCW2ldID0gc2Nhbm5lci5uZXh0TG9uZygpICUgbW9kOwogICAgICAgIH0KICAgICAgICAKICAgICAgICBBcnJheXMuc29ydChCKTsKICAgICAgICBsb25nIG1pbkIgPSBCWzBdOwogICAgICAgIGxvbmcgYW5zID0gTG9uZy5NQVhfVkFMVUU7CiAgICAgICAgCiAgICAgICAgZm9yIChsb25nIHggOiBBKSB7CiAgICAgICAgICAgIGxvbmcgdCA9IG1vZCAtIHg7CiAgICAgICAgICAgIGludCBpZHggPSBBcnJheXMuYmluYXJ5U2VhcmNoKEIsIHQpOwogICAgICAgICAgICBpZiAoaWR4IDwgMCkgewogICAgICAgICAgICAgICAgaWR4ID0gLWlkeCAtIDE7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgbG9uZyBjYW5kaWRhdGUxID0gTG9uZy5NQVhfVkFMVUU7CiAgICAgICAgICAgIGlmIChpZHggPCBtKSB7CiAgICAgICAgICAgICAgICBjYW5kaWRhdGUxID0geCArIEJbaWR4XSAtIG1vZDsKICAgICAgICAgICAgfQogICAgICAgICAgICBsb25nIGNhbmRpZGF0ZTIgPSBMb25nLk1BWF9WQUxVRTsKICAgICAgICAgICAgaWYgKG1pbkIgPCB0KSB7CiAgICAgICAgICAgICAgICBjYW5kaWRhdGUyID0geCArIG1pbkI7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgYW5zID0gTWF0aC5taW4oYW5zLCBNYXRoLm1pbihjYW5kaWRhdGUxLCBjYW5kaWRhdGUyKSk7CiAgICAgICAgfQogICAgICAgIAogICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbihhbnMpOwogICAgfQp9