#include <iostream>
#include <string>
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
int main()
{
    long int m, n, a[100000], max, min, t, y=0, levo, desno, duzina=0, g;
    scanf("%ld%ld", &n, &m);
    a[0]=m;
    g=n+1;
    for(int i=1;i<g;i++)
        scanf("%ld", &a[i]);
    max=-10000000;
    min=10000000;
    for(int i=0;i<g-1;i++)
        for(int j=1;j<g;j++)
            if(a[i]>a[j]) t=a[i],a[i]=a[j],a[j]=t;
    for(int i=0;i<g;i++)
    {      
        if(a[i]>max) max=a[i];
        if(a[i]<min) min=a[i];
        if(a[i]==m) y=i;
    }
    levo=m-a[0];
    desno=a[g-1]-m;
    if(y==0) duzina=a[g-1]-a[0];
    if(y==n) duzina=m-a[0];
    if((levo>desno) && (y>0) && (y<n))  duzina=2*a[g-1]-m-a[0];
    if((desno>levo) && (y>0) && (y<n))  duzina=m+a[g-1]-2*a[0];      
    printf("%ld" ,duzina);
}