#include <iostream>

using namespace std;

int main()
{
    int n,x,minbr,maxbr,finres,minodx,maxodx;
    cin >> n >> x;
    int a[n];
    for(int i=0;i<n;i++)
        cin >> a[i];
    minbr = a[0];
    maxbr = a[0];
    for(int i=0;i<n;i++)
    {
        if(a[i]<minbr)
            minbr = a[i];
        if(a[i]>maxbr)
            maxbr = a[i];
    }

        minodx = minbr - x; //zapisivanje min i max kao udaljenosti od x
        maxodx = maxbr - x;
        if(minodx < 0)
            minodx += minodx * -1 * 2;
        if(maxodx < 0)
            maxodx += maxodx *-1 * 2;

    if(minbr >= x)
    {
        finres = maxodx; //ako su sve komsije desno
    }
    else
        if(maxbr < x)
        {
            finres = minodx; // ako su sve komsije levo
        }
        else
        {
            if(minodx < maxodx) //min je blizi i prvo ide tamo
                finres = minodx * 2 + maxodx;
            else
                finres = maxodx * 2 + minodx; //max je blizi i prvo ide tamo
        }

    cout << finres;
    return 0;
}