#include <bits/stdc++.h>
using namespace std;
long long pow(long long a, long long b, long long p) {
  long long sum = 1;
  for (a %= p; b; a = a * a % p, b >>= 1)
    if (b & 1) sum = sum * a % p;
  return sum;
}
long long phi(long long n) {
  long long i, re = n;
  for (i = 2; i * i <= n; i++)
    if (n % i == 0) {
      re = re / i * (i - 1);
      while (n % i == 0) n /= i;
    }
  if (n > 1) re = re / n * (n - 1);
  return re % 1000000007;
}
void exgcd(long long a, long long b, long long &x, long long &y) {
  if (!b) {
    x = 1;
    y = 0;
    return;
  }
  exgcd(b, a % b, y, x);
  y -= x * (a / b);
}
long long gcd(long long a, long long b) { return b == 0 ? a : gcd(b, a % b); }
int minn(int a, int b) { return a > b ? b : a; }
int abs(int a) { return a < 0 ? -a : a; }
int gg[100010];
int main() {
  int n, m, a;
  scanf("%d%d", &n, &a);
  for (int i = 0; i < n; i++) scanf("%d", &gg[i]);
  if (n == 1) {
    printf("0\n");
  } else {
    m = 0;
    sort(gg, gg + n);
    m = minn(abs(a - gg[1]), abs(a - gg[n - 1]));
    m += gg[n - 1] - gg[1];
    m = minn(m, minn(abs(a - gg[0]) + gg[n - 2] - gg[0],
                     abs(a - gg[n - 2]) + gg[n - 2] - gg[0]));
    printf("%d\n", m);
  }
}
