#include <stdio.h>
#include <math.h>
void ucitaj(long long x[],long long n){
  for(long long i=0;i<n;i++){
  scanf("%lld",&x[i]);
  }
}
int main(void){
  long long n, x;
  scanf("%lld%lld",&n,&x);
  long long brkom[n];
  ucitaj(brkom,n);
  for(long long i=0; i<n-1; i++){
  for(long long j=i+1; j<n; j++){
  if(brkom[j] < brkom[i]){
  int b=brkom[i];
  brkom[i]=brkom[j];
  brkom[j]=b;
  }
  }
  }
if (brkom[0]>x) printf("%lld",brkom[n-1]-x);
else if (brkom[n-1]<x) printf("%lld", x-brkom[0]);
else if( (brkom[n-1]-x) <= (x-brkom[0]) ) printf("%lld",2*(brkom[n-1]-x)+(x-brkom[0]));
else printf("%lld",2*(x-brkom[0])+(brkom[n-1]-x)); 
}