#include <stdlib.h>
#include <stdio.h>
#include <vector>
#include <queue>
#include <algorithm>
using namespace std;
typedef pair<long long int,long long int> pairi;
typedef pair<long long int,pairi> pairs;

void prim(long long int x, long long int*a, long long int* ob, long long int n,long long int &s1)
{
    priority_queue < pairi, vector<pairi>, greater<pairi> > q;
    for(long long int j=0;j<n;j++)
            q.push({abs(x-a[j]),j});
        
    long long int p=q.top().first;
    long long int d=q.top().second;
    while(!q.empty())
        q.pop();
    q.push({p,d});
    
    while(!q.empty())
    {
        long long int vr=q.top().first;
        long long int drugi=q.top().second;
        q.pop();
        if(ob[drugi]==0)
        {
            s1+=vr;
            ob[drugi]=1;
            while(!q.empty())
            q.pop();
            for(long long int k=0;k<n;k++)
                if(ob[k]==0)
                    q.push({abs(a[drugi]-a[k]),k});
        }
    }
}
int main()
{
    long long int n,x;
    scanf("%lld%lld",&n,&x);
    vector<long long int> v;
    long long int* niz=(long long int*)malloc(n*sizeof(long long int));
    for(long long int i=0;i<n;i++)
        {
            long long int a;
            scanf("%lld",&a);
            niz[i]=a;
        }
    

        
    long long int s=0;
    long long int* ob=(long long int*)calloc(n,sizeof(long long int));
    prim(x,niz,ob,n,s);
    printf("%lld",s);
    
    
    return 0;
}