#include <bits/stdc++.h>
using namespace std;
long long gcd(long long a, long long b) {
  if (!b) return a;
  return gcd(b, a % b);
}
long long power(long long a, long long n) {
  if (!n) return 1;
  long long r = power(a, n / 2);
  r = r * r;
  if (n % 2) return r * a;
  return r;
}
long long modPower(long long a, long long n) {
  if (!n) return 1;
  long long r = modPower(a, n / 2);
  r = (r * r) % 1000000007;
  if (n % 2) r = (r * a) % 1000000007;
  return r;
}
long long a[2007];
long long b[2007];
long long dp[2007][2007];
long long p;
long long timeN(long long k, long long n) {
  return abs(a[n - 1] - b[k - 1]) + abs(b[k - 1] - p);
}
int main(void) {
  std::ios::sync_with_stdio(false);
  long long n, k, i, j;
  cin >> n >> k >> p;
  for (i = 0; i < n; i++) cin >> a[i];
  for (j = 0; j < k; j++) cin >> b[j];
  sort(a, a + n);
  sort(b, b + k);
  for (i = 0; i <= k; i++) {
    for (j = 1; j <= n; j++) dp[i][j] = 1e18;
  }
  for (i = 1; i <= k; i++) {
    for (j = 1; j <= i && j <= n; j++) {
      dp[i][j] = min(max(dp[i - 1][j - 1], timeN(i, j)), dp[i - 1][j]);
    }
  }
  cout << dp[k][n] << endl;
  return 0;
}
