#include <stdio.h>
void swap(long long int *xp, long long int *yp)  
{  
    long long int temp = *xp;  
    *xp = *yp;  
    *yp = temp;  
} 
void bubbleSort(long long int arr[], long long int n)  
{  
    long long int i, j;  
    for (i = 0; i < n-1; i++)       
    for (j = 0; j < n-i-1; j++)  
        if (arr[j] > arr[j+1])  
            swap(&arr[j], &arr[j+1]);  
}  
int main()
{
	long long int n,x,r=0,l=0,d=0,m,k;
	scanf("%lld %lld",&n,&x);
	long long int a[n+2];
	for(long long int i=0;i<n;i++)
	{
		scanf("%lld",&a[i]);
	}
	bubbleSort(a,n);
	k=a[0];
	if(x>a[n-1])
	{
		a[n]=x;
		m=n;
	}
	else
	{
		a[n]=a[n-1];
		for(long long int j=n-1;j>-1;j--)
		{
			if(x<a[j+1]&&x>a[j-1])
			{
				a[j]=x;
				m=j;
			}
			else
			a[j]=a[j-1];
				
		}
	}
	if(a[0]!=x)
	{
		a[0]=k;
	}
	for(long long int i=m-1;i>-1;i--)
	{
		l++;
	}
	for(long long int i=m+1;i<n+1;i++)
	{
		d++;
	}
	if(l<d && l!=0)
	{
		for(long long int i=m-1;i>-1;i--)
		{
			r+=a[i+1]-a[i];
	    }
		for(long long int i=m+1;i<n+1;i++)
		{
			if(i==m+1)
			{
				r+=a[i]-a[0];
			}
			else
			r+=a[i]-a[i-1];
		}
	}
	else
	{
		for(long long int i=m+1;i<n+1;i++)
		{
			r+=a[i]-a[i-1];
		}
		for(long long int i=m-1;i>-1;i--)
		{
			if(i==m-1)
			{
				r+=a[n+1]-a[i];
			}
			else
			r+=a[i+1]-a[i];
		}
	}
	printf("%lld",r);
    return 0;
}