#include <bits/stdc++.h>

using namespace std;

typedef long long ll;
typedef vector<int> vi;
typedef vector<vi> vvi;
typedef pair<int, int> pii;

#define mt make_tuple
#define pb push_back
#define mp make_pair
#define fi first
#define se second
#define all(x) (x).begin(), (x).end()
#define rall(x) (x).rbegin(), (x).rend()
#define sqr(x) ((ll)(x) * (x))

int main()
{
    int n, x;

    scanf("%d %d", &n, &x);

    vi v(n);

    int najmanji = INT_MAX;
    int najveci = INT_MIN;

    for(int i = 0; i < n; i++)
    {
        scanf("%d", &v[i]);
        najmanji = min(v[i], najmanji);
        najveci = max(v[i], najveci);
    }

    int resenje = 0;

    if(najmanji >= x)
    {
        resenje = abs(najveci - x);
    }

    else if(najveci <= x)
    {
        resenje = abs(x - najmanji);
    }

    else
    {
        int rastojanjeLevo = abs(x - najmanji);
        int rastojanjeDesno = abs(x - najveci);

        if(rastojanjeLevo < rastojanjeDesno)
        {
            resenje = 2 * rastojanjeLevo + rastojanjeDesno;
        }

        else
        {
            resenje = 2 * rastojanjeDesno + rastojanjeLevo;
        }
    }

    printf("%d\n", resenje);

    return 0;
}