#include <bits/stdc++.h>
#include <vector>

int razlika(int a, int b)
{
    if(b>a)
        swap(a,b);
    return a-b;
}

int main()
{
    long int n,x,l,m,vreme=0;
    vector<long int> levo;
    vector<long int> desno;
    scanf("%ld%ld",&n,&x);
    for(l=0; l<n; l++)
        {
            scanf("%ld",&m);
            if(m>x) desno.push_back(m);
            else if(m<x) levo.push_back(m);
        }
    if(levo.size()<desno.size())
        desno.swap(levo);
    sort(desno.begin(),desno.end());
    sort(levo.begin(),levo.end());
    if(levo.size()==desno.size())
        if(razlika(x,desno.back())>razlika(levo.back(),x))
            desno.swap(levo);
    if(desno.size()==0)
    {
        printf("%ld",razlika(x,levo.back()));
        return 0;
    }
    vreme+=razlika(desno.back(),x);
    vreme+=razlika(desno.back(),levo.back());
    printf("%ld",vreme);
    return 0;
}