#include <iostream>
using namespace std;
int main()
{
    long long n;
    int x, maksL=10, maksD=0, rez1, rez2;
    bool samoDesno = true, samoLevo = true;
    cin >> n >> x;
    long long a[n];
    for(int i=0;i<n;i++)
    {
        cin >> a[i];
        if(a[i]>maksD)
            maksD = a[i];
        if(a[i]<maksL)
            maksL = a[i];
        if(a[i]<x)
            samoDesno=false;
        if(a[i]>0)
            samoLevo = false;
    }

    /*for(int i=0;i<n;i++)
        cout << a[i] << endl;*/
    /*for(int i=0;i<n;i++)
        if(a[i]<x)
            samoDesno=false;
    for(int i=0;i<n;i++)
        if(a[i]>0)
            samoLevo = false;*/
    /*if(maksL>=0)
        samoLevo = false;
    if(maksD<=0)
        samoDesno = false;*/
    /*cout << maksL << " " << maksD << endl;*/
    rez1 = 2*(maksD-x)+(x-maksL);
    rez2 = 2*(x-maksL)+(maksD-x);
    if(!samoDesno && !samoLevo)
    {
        if(rez1<rez2)
            cout << rez1 << endl;
        else cout << rez2 << endl;
    }
    else if(samoDesno) cout << maksD-x << endl;
    else if(samoLevo) cout << x-maksL << endl;
    return 0;
}