#include <bits/stdc++.h>
using namespace std;
long long a[100010];
int main() {
  long long n, pos;
  while (cin >> n >> pos) {
    for (long long i = 0; i < n; i++) scanf("%I64d", &a[i]);
    sort(a, a + n);
    long long res1 = 0, res2, res;
    if (pos < a[0])
      res1 = a[n - 2] - pos;
    else if (a[0] <= pos && pos <= a[n - 2])
      res1 = min((pos - a[0]) * 2 + a[n - 2] - pos,
                 (a[n - 2] - pos) * 2 + pos - a[0]);
    else if (pos > a[n - 2])
      res1 = pos - a[0];
    if (pos < a[1])
      res2 = a[n - 1] - pos;
    else if (a[1] <= pos && pos <= a[n - 1])
      res2 = min((pos - a[1]) * 2 + a[n - 1] - pos,
                 (a[n - 1] - pos) * 2 + pos - a[1]);
    else if (pos > a[n - 1])
      res2 = pos - a[1];
    res = min(res1, res2);
    if (n == 1) res = 0;
    printf("%I64d\n", res);
  }
  return 0;
}
