#include <bits/stdc++.h>
using namespace std;

#define long int64_t
#define endl '\n'

#ifdef OFFLINE
	#define logan(...) logg(#__VA_ARGS__, __VA_ARGS__)
	template<class Arg>
	void logg(const char* name, Arg&& arg){ cerr << name << ": " << arg << '\n'; }
	template<class Arg, class ... Args>
	void logg(const char* name, Arg&& arg, Args&& ... args){
		char *next = (char*)name, *cand;
		int depth = 0;
		do{
			if(depth){ next = strchr(next+1, ')'); --depth; }
			else if((cand = strchr(next+1, '('))){ next = cand; ++depth; }
			else{ next = strchr(next+1, ','); }
		}while(depth);
		cerr.write(name, next-name) << ": " << arg << ",";
		logg(next+1, args...);
	}
	#define timeme 1.0*clock()/CLOCKS_PER_SEC
#else
	#define logan(...) {}
	#define timeme {}
#endif

int main(){
	ios_base::sync_with_stdio(false);
	cin.tie(nullptr);
	cout.tie(nullptr);
	cerr.tie(nullptr);

	int mini, maxi;
	int n, k; cin >> n >> k;
	mini = maxi = k;
	for(int i = 0; i < n; ++i){
		int x; cin >> x;
		mini = min(x, mini);
		maxi = max(x, maxi);
	}

	logan(mini, maxi);
	int tmp1 = abs(k-maxi)+2*abs(k-mini);
	int tmp2 = 2*abs(k-maxi)+abs(k-mini);
	logan(tmp1, tmp2);

	cout << min(tmp1, tmp2) << endl;


}