#include <bits/stdc++.h>
using namespace std;
#define ll long long
#define ln '\n'
#define u unsigned
#define f first
#define ss second
ll logg(ll base ,ll x){
ll s=0;
if(!x)return 1;
while(x){
x/=base;
s++;
}
return s;
}
const ll N=1000000007;
const ll mod=998244353;
ll fastPow(ll x,ll y){
if(y==0)
return 1;
//
if(y%2==1){
ll b=x;
ll ans=fastPow(b,y/2)%N;
ans=(ans*ans)%N;
return (ans*b)%N;
}
else{
ll b=x%N;
ll ans=fastPow(b,y/2)%N;
ans=(ans*ans)%N;
return ans;
}
}
u ll GCD(u ll a, u ll b)
{
return b == 0 ? a : GCD(b, a % b);
}
u ll lcm(u ll x,u ll y){
return (((x/GCD(x,y)))*y);
}
ll ceiling (ll x,ll y){
if(x%y)return x/y +1;
return x/y;
}
bool sortby(const pair<ll,ll>&a,const pair<ll,ll>&b){
if(a.first==b.first)
return a.second>b.second;
return a.first<b.first;
}
ll fact[1000000];
void factorial(){
ll f=1;
fact[0]=1;
for(ll i=1;i<=15;i++){
f*=i;//f%=N;
fact[i]=f;
//mp[f]++;
}
}
ll invMod(ll x){
return fastPow(x,mod-2)%mod;
}
bool isPrime(ll n){
if(n == 1){
return false;
}
for(ll i = 2; i*i<=n; i++){
if(n%i == 0){
return false;
}
}
return true;
}
bool valid(int i,int n){
if(i>=0 && i<n)return 1;
return 0;
}
/*vector<vector<int>>v;
void bits(){
ll p= fastPow(2,15);
vector<int>vvv;
v.push_back(vvv);
for(ll k=1;k<=p;k++){
int x= k;
vector<int>vin;
vector<int>vv;
while(x){
vv.push_back(x%2);
x/=2;
}
int sz=vv.size();
ll z=15-sz;
for(int i=0;i<z;i++)vin.push_back(0);
for(int i=sz-1;i>=0;i--)vin.push_back(vv[i]);
v.push_back(vin);
}
}*/
ll count_bits(ll n){
ll nn=n,x=0;
while(nn){
if(nn&1)x++;
nn/=2;
}
return x;
}
int on_bits(long long n){
return __builtin_popcountll(n);
}
bool is_palindrome(ll x){
ll xx=x,y=0,len=logg(10,xx)-1;
if(len==0)return 1;
while(xx){
y+= fastPow(10,len)*(xx%10);
len--;xx/=10;
}
if(y==x)return 1;
return 0;
}
void solve(){
ll n,k,p;cin>>n>>k>>p;
vector<vector<ll>>bst,dp;
vector<ll>v(n+10),vk(k+10);
dp.assign(n+10,vector<ll>(k+10,0));
bst.assign(n+10,vector<ll>(k+10,0));
for(int i=1;i<=n;i++)cin>>v[i];
for(int i=1;i<=k;i++)cin>>vk[i];
multiset<ll>st;
// dp(i,k) => best senario for people from 1 to i where ith person takes kth key
// bst(i-1,k) => best senario for people from 1 to (i-1) without taking kth key
for(int i=1;i<=n;i++){
st.clear();
for(int j=1;j<=k;j++){
dp[i][j]=bst[i-1][j]+abs(v[i]-vk[j])+abs(vk[j]-p);/// calculate best!!
st.insert(dp[i][j]);
}
for(int j=1;j<=k;j++){
auto it=st.find(dp[i][j]);
st.erase(it);
bst[i][j]=*st.begin();/////////???
st.insert(dp[i][j]);
}
}
ll ans=1e18;
for(int i=1;i<=k;i++)ans=min(ans,dp[n][i]);
cout<<ans<<ln;
/// min dp[n][i] for all i =1 to k
}
int main()
{
ios_base::sync_with_stdio(0);
cin.tie(0);cout.tie(0);
int T=1;//cin>>T;
while(T--){
solve();
}
return 0;
}
/*
*/
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CiNkZWZpbmUgbGwgbG9uZyBsb25nCiNkZWZpbmUgbG4gJ1xuJwojZGVmaW5lIHUgdW5zaWduZWQKI2RlZmluZSBmIGZpcnN0CiNkZWZpbmUgc3Mgc2Vjb25kCgpsbCBsb2dnKGxsIGJhc2UgLGxsIHgpewogICAgbGwgcz0wOwogICAgaWYoIXgpcmV0dXJuIDE7CiAgICB3aGlsZSh4KXsKICAgICAgICB4Lz1iYXNlOwogICAgICAgIHMrKzsKICAgIH0KICAgIHJldHVybiAgczsKfQpjb25zdCBsbCBOPTEwMDAwMDAwMDc7CmNvbnN0ICBsbCBtb2Q9OTk4MjQ0MzUzOwoKbGwgZmFzdFBvdyhsbCB4LGxsIHkpewogICAgaWYoeT09MCkKICAgICAgICByZXR1cm4gMTsKICAgIC8vCgogICAgaWYoeSUyPT0xKXsKICAgICAgICBsbCBiPXg7CiAgICAgICAgbGwgYW5zPWZhc3RQb3coYix5LzIpJU47CiAgICAgICAgYW5zPShhbnMqYW5zKSVOOwogICAgICAgIHJldHVybiAoYW5zKmIpJU47CiAgICB9CgogICAgZWxzZXsKICAgICAgICBsbCBiPXglTjsKICAgICAgICBsbCBhbnM9ZmFzdFBvdyhiLHkvMiklTjsKICAgICAgICBhbnM9KGFucyphbnMpJU47CiAgICAgICAgcmV0dXJuIGFuczsKICAgIH0KCn0KdSBsbCBHQ0QodSBsbCBhLCB1IGxsIGIpCnsKICAgIHJldHVybiBiID09IDAgPyBhIDogR0NEKGIsIGEgJSBiKTsKfQp1IGxsIGxjbSh1IGxsIHgsdSBsbCB5KXsKICAgIHJldHVybiAoKCh4L0dDRCh4LHkpKSkqeSk7Cn0KbGwgY2VpbGluZyAobGwgeCxsbCB5KXsKICAgIGlmKHgleSlyZXR1cm4geC95ICsxOwogICAgcmV0dXJuIHgveTsKfQpib29sIHNvcnRieShjb25zdCBwYWlyPGxsLGxsPiZhLGNvbnN0IHBhaXI8bGwsbGw+JmIpewogICAgaWYoYS5maXJzdD09Yi5maXJzdCkKICAgICAgICByZXR1cm4gYS5zZWNvbmQ+Yi5zZWNvbmQ7CiAgICByZXR1cm4gYS5maXJzdDxiLmZpcnN0Owp9CmxsIGZhY3RbMTAwMDAwMF07CnZvaWQgZmFjdG9yaWFsKCl7CiAgICBsbCBmPTE7CiAgICBmYWN0WzBdPTE7CiAgICBmb3IobGwgaT0xO2k8PTE1O2krKyl7CiAgICAgICAgZio9aTsvL2YlPU47CiAgICAgICAgZmFjdFtpXT1mOwogICAgICAgIC8vbXBbZl0rKzsKICAgIH0KfQoKbGwgaW52TW9kKGxsIHgpewogICAgcmV0dXJuIGZhc3RQb3coeCxtb2QtMiklbW9kOwp9CmJvb2wgaXNQcmltZShsbCBuKXsKICAgIGlmKG4gPT0gMSl7CiAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgfQogICAgZm9yKGxsIGkgPSAyOyBpKmk8PW47IGkrKyl7CiAgICAgICAgaWYobiVpID09IDApewogICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgfQogICAgfQoKICAgIHJldHVybiB0cnVlOwp9CmJvb2wgdmFsaWQoaW50IGksaW50IG4pewogICAgaWYoaT49MCAmJiBpPG4pcmV0dXJuIDE7CiAgICByZXR1cm4gMDsKfQoKCi8qdmVjdG9yPHZlY3RvcjxpbnQ+PnY7CnZvaWQgYml0cygpewogICAgbGwgcD0gZmFzdFBvdygyLDE1KTsKICAgIHZlY3RvcjxpbnQ+dnZ2OwogICAgdi5wdXNoX2JhY2sodnZ2KTsKICAgIGZvcihsbCBrPTE7azw9cDtrKyspewogICAgICAgIGludCB4PSBrOwogICAgICAgIHZlY3RvcjxpbnQ+dmluOwogICAgICAgIHZlY3RvcjxpbnQ+dnY7CgogICAgICAgIHdoaWxlKHgpewogICAgICAgICAgICB2di5wdXNoX2JhY2soeCUyKTsKICAgICAgICAgICAgeC89MjsKICAgICAgICB9CiAgICAgICAgaW50IHN6PXZ2LnNpemUoKTsKICAgICAgICBsbCB6PTE1LXN6OwogICAgICAgIGZvcihpbnQgaT0wO2k8ejtpKyspdmluLnB1c2hfYmFjaygwKTsKICAgICAgICBmb3IoaW50IGk9c3otMTtpPj0wO2ktLSl2aW4ucHVzaF9iYWNrKHZ2W2ldKTsKICAgICAgICB2LnB1c2hfYmFjayh2aW4pOwogICAgfQp9Ki8KbGwgY291bnRfYml0cyhsbCBuKXsKICAgIGxsIG5uPW4seD0wOwogICAgd2hpbGUobm4pewogICAgICAgIGlmKG5uJjEpeCsrOwogICAgICAgIG5uLz0yOwogICAgfQogICAgcmV0dXJuIHg7Cn0KaW50IG9uX2JpdHMobG9uZyBsb25nIG4pewogICAgcmV0dXJuIF9fYnVpbHRpbl9wb3Bjb3VudGxsKG4pOwp9CmJvb2wgaXNfcGFsaW5kcm9tZShsbCB4KXsKICAgIGxsIHh4PXgseT0wLGxlbj1sb2dnKDEwLHh4KS0xOwogICAgaWYobGVuPT0wKXJldHVybiAxOwogICAgd2hpbGUoeHgpewogICAgICAgIHkrPSBmYXN0UG93KDEwLGxlbikqKHh4JTEwKTsKICAgICAgICBsZW4tLTt4eC89MTA7CiAgICB9CiAgICBpZih5PT14KXJldHVybiAxOwogICAgcmV0dXJuIDA7Cn0Kdm9pZCBzb2x2ZSgpewogICAgbGwgbixrLHA7Y2luPj5uPj5rPj5wOwogICAgdmVjdG9yPHZlY3RvcjxsbD4+YnN0LGRwOwogICAgdmVjdG9yPGxsPnYobisxMCksdmsoaysxMCk7CiAgICBkcC5hc3NpZ24obisxMCx2ZWN0b3I8bGw+KGsrMTAsMCkpOwogICAgYnN0LmFzc2lnbihuKzEwLHZlY3RvcjxsbD4oaysxMCwwKSk7CiAgICBmb3IoaW50IGk9MTtpPD1uO2krKyljaW4+PnZbaV07CiAgICBmb3IoaW50IGk9MTtpPD1rO2krKyljaW4+PnZrW2ldOwogICAgbXVsdGlzZXQ8bGw+c3Q7CiAgICAvLyBkcChpLGspID0+IGJlc3Qgc2VuYXJpbyBmb3IgcGVvcGxlIGZyb20gMSB0byBpIHdoZXJlIGl0aCBwZXJzb24gdGFrZXMga3RoIGtleQogICAgLy8gYnN0KGktMSxrKSA9PiBiZXN0IHNlbmFyaW8gZm9yIHBlb3BsZSBmcm9tIDEgdG8gKGktMSkgd2l0aG91dCB0YWtpbmcga3RoIGtleQogICAgZm9yKGludCBpPTE7aTw9bjtpKyspewogICAgICAgIHN0LmNsZWFyKCk7CiAgICAgICAgZm9yKGludCBqPTE7ajw9aztqKyspewogICAgICAgICAgICBkcFtpXVtqXT1ic3RbaS0xXVtqXSthYnModltpXS12a1tqXSkrYWJzKHZrW2pdLXApOy8vLyBjYWxjdWxhdGUgYmVzdCEhCiAgICAgICAgICAgIHN0Lmluc2VydChkcFtpXVtqXSk7CiAgICAgICAgfQogICAgICAgIGZvcihpbnQgaj0xO2o8PWs7aisrKXsKICAgICAgICAgICAgYXV0byBpdD1zdC5maW5kKGRwW2ldW2pdKTsKICAgICAgICAgICAgc3QuZXJhc2UoaXQpOwogICAgICAgICAgICBic3RbaV1bal09KnN0LmJlZ2luKCk7Ly8vLy8vLy8vPz8/CiAgICAgICAgICAgIHN0Lmluc2VydChkcFtpXVtqXSk7CiAgICAgICAgfQogICAgfQogICAgbGwgYW5zPTFlMTg7CiAgICBmb3IoaW50IGk9MTtpPD1rO2krKylhbnM9bWluKGFucyxkcFtuXVtpXSk7CiAgICBjb3V0PDxhbnM8PGxuOwogICAgLy8vIG1pbiBkcFtuXVtpXSBmb3IgYWxsIGkgPTEgdG8gawp9CgppbnQgbWFpbigpCnsKICAgIGlvc19iYXNlOjpzeW5jX3dpdGhfc3RkaW8oMCk7CiAgICBjaW4udGllKDApO2NvdXQudGllKDApOwogICAgaW50IFQ9MTsvL2Npbj4+VDsKICAgIHdoaWxlKFQtLSl7CiAgICAgICAgc29sdmUoKTsKICAgIH0KICAgIHJldHVybiAwOwp9Ci8qCgogKi8=