#include <bits/stdc++.h>
using namespace std;
int main() {
  int n, sx;
  scanf("%d %d", &n, &sx);
  vector<int> l, r;
  for (int i = 0; i < n; ++i) {
    int x;
    scanf("%d", &x);
    if (x <= sx) {
      l.push_back(x);
    } else {
      r.push_back(x);
    }
  }
  sort(l.begin(), l.end());
  sort(r.begin(), r.end());
  reverse(r.begin(), r.end());
  int ans = 1e9;
  {
    int ld = 0;
    if (l.size() >= 2) {
      ld = sx - l[1];
    }
    int rd = 0;
    if (r.size() >= 1) {
      rd = r[0] - sx;
    }
    if (ld > rd) swap(ld, rd);
    ans = min(ans, 2 * ld + rd);
  }
  {
    int ld = 0;
    if (l.size() >= 1) {
      ld = sx - l[0];
    }
    int rd = 0;
    if (r.size() >= 2) {
      rd = r[1] - sx;
    }
    if (ld > rd) swap(ld, rd);
    ans = min(ans, 2 * ld + rd);
  }
  printf("%d\n", ans);
  return 0;
}
