#include <bits/stdc++.h>
#define ll long long
#define fi first
#define se second
#define all(x) x.begin(), x.end()
#define sz(x) (int)x.size()
#define pb push_back
#define re exit(0);
#define left id<<1
#define right id<<1|1
#define FOR(i, a, b) for(int i = (a), _b = (b); i <= _b; i++)
#define FORD(i, a, b) for(int i = (a), _b = (b); i >= _b; i--)
#define LOOP(a) for(int i = 0, _a = (a); i < _a; i++)
#define int long long
using namespace std;
typedef vector<int> vi;
typedef pair<int, int> pii;
typedef vector<pii> vii;
template<typename T> void chkmin(T &x, T y) {if (y < x) x = y;}
template<typename T> void chkmax(T &x, T y) {if (y > x) x = y;}
const int mod = 1e9 + 7;
void add(int &a, int b) {
a += b;
if (a >= mod) a -= mod;
if (a < 0) a += mod;
}
int _pow(int a, int b) {
int ans = 1;
while (b) {
if (b % 2 == 1) ans = 1ll * ans * a % mod;
a = 1ll * a * a % mod;
b /= 2;
}
return ans;
}
void rf() {
freopen("input.inp", "r", stdin);
}
//--------------------------------------------------------------------------------------------------------------------------------------
const int maxn = 2e5;
const int INF = 2e9;
pair<int, int> a[maxn + 5];
int n, start;
int mx, mn;
bool cmp1(pii x, pii y) {
if (x.se != y.se) return x.se < y.se;
else return x.fi < y.fi;
}
bool cmp2(pii x, pii y) {
if (x.se != y.se) return x.se > y.se;
else return x.fi > y.fi;
}
int calc1() {
vector<pair<int, int> > v;
for (int i = 1; i <= n; i++)
if (a[i].se > start && a[i].fi < start)
v.push_back(a[i]);
if (v.size() == 0) return 0;
sort(all(v), cmp1); int m = v.size();
vector<int> suf_min(m + 5, INF);
suf_min[m] = start;
for (int i = m - 1; i >= 0; i--) suf_min[i] = min(suf_min[i + 1], v[i].fi);
int res = start - suf_min[0];
for (int i = 0; i <= m - 1; i++) {
int x = v[i].se, y = suf_min[i + 1];
chkmin(res, (x - start) + (start - y));
}
return res;
}
int calc2() {
vector<pair<int, int> > v;
for (int i = 1; i <= n; i++)
if (a[i].se < start && a[i].fi > start)
v.push_back(a[i]);
if (v.size() == 0) return 0;
sort(all(v), cmp2); int m = v.size();
vector<int> suf_max(m + 5, INF);
suf_max[m] = start;
for (int i = m - 1; i >= 0; i--) suf_max[i] = max(suf_max[i + 1], v[i].fi);
int res = suf_max[0] - start;
for (int i = 0; i <= m - 1; i++) {
int x = v[i].se, y = suf_max[i + 1];
chkmin(res, (start - x) + (y - start));
}
return res;
}
signed main() {
ios::sync_with_stdio(0);
cin.tie(0);
cin >> n >> start;
for (int i = 1; i <= n; i++)
cin >> a[i].fi >> a[i].se;
mn = start, mx = start;
for (int i = 1; i <= n; i++) {
chkmin(mn, min(a[i].fi, a[i].se));
chkmax(mx, max(a[i].fi, a[i].se));
}
long long res = min(calc1(), calc2());
res += mx - mn; res *= 2;
cout << res;
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CiNkZWZpbmUgbGwgbG9uZyBsb25nCiNkZWZpbmUgZmkgZmlyc3QKI2RlZmluZSBzZSBzZWNvbmQKI2RlZmluZSBhbGwoeCkgeC5iZWdpbigpLCB4LmVuZCgpCiNkZWZpbmUgc3ooeCkgKGludCl4LnNpemUoKQojZGVmaW5lIHBiIHB1c2hfYmFjawojZGVmaW5lIHJlIGV4aXQoMCk7CiNkZWZpbmUgbGVmdCBpZDw8MQojZGVmaW5lIHJpZ2h0IGlkPDwxfDEKI2RlZmluZSBGT1IoaSwgYSwgYikgICBmb3IoaW50IGkgPSAoYSksIF9iID0gKGIpOyBpIDw9IF9iOyBpKyspCiNkZWZpbmUgRk9SRChpLCBhLCBiKSAgZm9yKGludCBpID0gKGEpLCBfYiA9IChiKTsgaSA+PSBfYjsgaS0tKQojZGVmaW5lIExPT1AoYSkgICAgICAgIGZvcihpbnQgaSA9IDAsIF9hID0gKGEpOyBpIDwgX2E7IGkrKykKCiNkZWZpbmUgaW50IGxvbmcgbG9uZwoKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCnR5cGVkZWYgdmVjdG9yPGludD4gdmk7CnR5cGVkZWYgcGFpcjxpbnQsIGludD4gcGlpOwp0eXBlZGVmIHZlY3RvcjxwaWk+IHZpaTsKCnRlbXBsYXRlPHR5cGVuYW1lIFQ+IHZvaWQgY2hrbWluKFQgJngsIFQgeSkge2lmICh5IDwgeCkgeCA9IHk7fQp0ZW1wbGF0ZTx0eXBlbmFtZSBUPiB2b2lkIGNoa21heChUICZ4LCBUIHkpIHtpZiAoeSA+IHgpIHggPSB5O30KCmNvbnN0IGludCBtb2QgPSAxZTkgKyA3Owp2b2lkIGFkZChpbnQgJmEsIGludCBiKSB7CiAgICBhICs9IGI7CiAgICBpZiAoYSA+PSBtb2QpIGEgLT0gbW9kOwogICAgaWYgKGEgPCAwKSBhICs9IG1vZDsKfQoKaW50IF9wb3coaW50IGEsIGludCBiKSB7CiAgIGludCBhbnMgPSAxOwogICB3aGlsZSAoYikgewogICBpZiAoYiAlIDIgPT0gMSkgYW5zID0gMWxsICogYW5zICogYSAlIG1vZDsKICAgICAgICBhID0gMWxsICogYSAqIGEgJSBtb2Q7CiAgICAgICAgYiAvPSAyOwogICB9CiAgIHJldHVybiBhbnM7Cn0Kdm9pZCByZigpIHsKICAgZnJlb3BlbigiaW5wdXQuaW5wIiwgInIiLCBzdGRpbik7Cn0KCi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCmNvbnN0IGludCBtYXhuID0gMmU1Owpjb25zdCBpbnQgSU5GID0gMmU5OwpwYWlyPGludCwgaW50PiBhW21heG4gKyA1XTsKaW50IG4sIHN0YXJ0OwppbnQgbXgsIG1uOwoKYm9vbCBjbXAxKHBpaSB4LCBwaWkgeSkgewogICAgaWYgKHguc2UgIT0geS5zZSkgcmV0dXJuIHguc2UgPCB5LnNlOwogICAgZWxzZSByZXR1cm4geC5maSA8IHkuZmk7Cn0KCgpib29sIGNtcDIocGlpIHgsIHBpaSB5KSB7CiAgICBpZiAoeC5zZSAhPSB5LnNlKSByZXR1cm4geC5zZSA+IHkuc2U7CiAgICBlbHNlIHJldHVybiB4LmZpID4geS5maTsKfQoKaW50IGNhbGMxKCkgewogICAgdmVjdG9yPHBhaXI8aW50LCBpbnQ+ID4gdjsKICAgIGZvciAoaW50IGkgPSAxOyBpIDw9IG47IGkrKykKICAgICAgICBpZiAoYVtpXS5zZSA+IHN0YXJ0ICYmIGFbaV0uZmkgPCBzdGFydCkKICAgICAgICAgICAgdi5wdXNoX2JhY2soYVtpXSk7CgogICAgaWYgKHYuc2l6ZSgpID09IDApIHJldHVybiAwOwogICAgc29ydChhbGwodiksIGNtcDEpOyBpbnQgbSA9IHYuc2l6ZSgpOwoKICAgIHZlY3RvcjxpbnQ+IHN1Zl9taW4obSArIDUsIElORik7CiAgICBzdWZfbWluW21dID0gc3RhcnQ7CiAgICBmb3IgKGludCBpID0gbSAtIDE7IGkgPj0gMDsgaS0tKSBzdWZfbWluW2ldID0gbWluKHN1Zl9taW5baSArIDFdLCB2W2ldLmZpKTsKCiAgICBpbnQgcmVzID0gc3RhcnQgLSBzdWZfbWluWzBdOwogICAgZm9yIChpbnQgaSA9IDA7IGkgPD0gbSAtIDE7IGkrKykgewogICAgICAgIGludCB4ID0gdltpXS5zZSwgeSA9IHN1Zl9taW5baSArIDFdOwogICAgICAgIGNoa21pbihyZXMsICh4IC0gc3RhcnQpICsgKHN0YXJ0IC0geSkpOwogICAgfQogICAgcmV0dXJuIHJlczsKfQoKaW50IGNhbGMyKCkgewogICAgdmVjdG9yPHBhaXI8aW50LCBpbnQ+ID4gdjsKICAgIGZvciAoaW50IGkgPSAxOyBpIDw9IG47IGkrKykKICAgICAgICBpZiAoYVtpXS5zZSA8IHN0YXJ0ICYmIGFbaV0uZmkgPiBzdGFydCkKICAgICAgICAgICAgdi5wdXNoX2JhY2soYVtpXSk7CgogICAgaWYgKHYuc2l6ZSgpID09IDApIHJldHVybiAwOwogICAgc29ydChhbGwodiksIGNtcDIpOyBpbnQgbSA9IHYuc2l6ZSgpOwoKICAgIHZlY3RvcjxpbnQ+IHN1Zl9tYXgobSArIDUsIElORik7CiAgICBzdWZfbWF4W21dID0gc3RhcnQ7CiAgICBmb3IgKGludCBpID0gbSAtIDE7IGkgPj0gMDsgaS0tKSBzdWZfbWF4W2ldID0gbWF4KHN1Zl9tYXhbaSArIDFdLCB2W2ldLmZpKTsKCiAgICBpbnQgcmVzID0gc3VmX21heFswXSAtIHN0YXJ0OwogICAgZm9yIChpbnQgaSA9IDA7IGkgPD0gbSAtIDE7IGkrKykgewogICAgICAgIGludCB4ID0gdltpXS5zZSwgeSA9IHN1Zl9tYXhbaSArIDFdOwogICAgICAgIGNoa21pbihyZXMsIChzdGFydCAtIHgpICsgKHkgLSBzdGFydCkpOwogICAgfQogICAgcmV0dXJuIHJlczsKfQoKc2lnbmVkIG1haW4oKSB7CiAgICBpb3M6OnN5bmNfd2l0aF9zdGRpbygwKTsKICAgIGNpbi50aWUoMCk7CgogICAgY2luID4+IG4gPj4gc3RhcnQ7CiAgICBmb3IgKGludCBpID0gMTsgaSA8PSBuOyBpKyspCiAgICAgICAgY2luID4+IGFbaV0uZmkgPj4gYVtpXS5zZTsKCiAgICBtbiA9IHN0YXJ0LCBteCA9IHN0YXJ0OwogICAgZm9yIChpbnQgaSA9IDE7IGkgPD0gbjsgaSsrKSB7CiAgICAgICAgY2hrbWluKG1uLCBtaW4oYVtpXS5maSwgYVtpXS5zZSkpOwogICAgICAgIGNoa21heChteCwgbWF4KGFbaV0uZmksIGFbaV0uc2UpKTsKICAgIH0KCiAgICBsb25nIGxvbmcgcmVzID0gbWluKGNhbGMxKCksIGNhbGMyKCkpOwogICAgcmVzICs9IG14IC0gbW47IHJlcyAqPSAyOwoKICAgIGNvdXQgPDwgcmVzOwoKICAgIHJldHVybiAwOwp9Cg==