#include <iostream>
#include <algorithm>
using namespace std;
pair<int, int> p[100001];
int n, m, dp[100001];
/*bool cmp(pair<int, int> &a, pair<int, int> &b){
if(a.first == b.first) a.second < b.second;
return a.first < b.first;
}*/
void print(){
for(int j = 0; j < n; j++)
cout << p[j].first << " " << p[j].second << endl;
return;
}
int foo(int l, int r, int left){
if(l == r) return l;
int mid = (l+r)/2;
if(p[mid].first >= left) return foo(l, mid, left);
return foo(mid+1, r, left);
}
int recur(int curr){
if(curr == n-1) return (m - p[curr].second);
if(dp[curr] != -1) return dp[curr];
int left = p[curr].first, right = p[curr].second;
int pos = foo(curr + 1, n - 1, right);
while(pos < n && p[pos].first < right) pos++;
int ans = m - right;
for(int j = pos; j < n; j++){
int curr_ans = p[j].first - right + recur(j);
ans = min(ans, curr_ans);
}
dp[curr] = ans;
return ans;
}
void solve(){
print(); cout << endl;
sort(p, p+n);
print();
int ans = 1000000001;
for(int j = 0; j < 100001; j++)
dp[j] = -1;
for(int j = 0; j < n; j++)
ans = min(ans, p[j].first + recur(j));
cout << ans << endl;
return;
}
int main(){
ios_base :: sync_with_stdio(false);
cin.tie(NULL);
cin >> n >> m;
for(int j = 0; j < n; j++)
cin >> p[j].first >> p[j].second;
solve();
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8YWxnb3JpdGhtPgoKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCnBhaXI8aW50LCBpbnQ+IHBbMTAwMDAxXTsKCmludCBuLCBtLCBkcFsxMDAwMDFdOwoKLypib29sIGNtcChwYWlyPGludCwgaW50PiAmYSwgcGFpcjxpbnQsIGludD4gJmIpewogICAgaWYoYS5maXJzdCA9PSBiLmZpcnN0KSBhLnNlY29uZCA8IGIuc2Vjb25kOwogICAgcmV0dXJuIGEuZmlyc3QgPCBiLmZpcnN0Owp9Ki8KCnZvaWQgcHJpbnQoKXsKICAgIGZvcihpbnQgaiA9IDA7IGogPCBuOyBqKyspCiAgICAgICAgY291dCA8PCBwW2pdLmZpcnN0IDw8ICIgIiA8PCBwW2pdLnNlY29uZCA8PCBlbmRsOwogICAgcmV0dXJuOwp9CgppbnQgZm9vKGludCBsLCBpbnQgciwgaW50IGxlZnQpewogICAgaWYobCA9PSByKSByZXR1cm4gbDsKICAgIGludCBtaWQgPSAobCtyKS8yOwogICAgaWYocFttaWRdLmZpcnN0ID49IGxlZnQpIHJldHVybiBmb28obCwgbWlkLCBsZWZ0KTsKICAgIHJldHVybiBmb28obWlkKzEsIHIsIGxlZnQpOwp9CgppbnQgcmVjdXIoaW50IGN1cnIpewogICAgaWYoY3VyciA9PSBuLTEpIHJldHVybiAobSAtIHBbY3Vycl0uc2Vjb25kKTsKICAgIGlmKGRwW2N1cnJdICE9IC0xKSByZXR1cm4gZHBbY3Vycl07CiAgICBpbnQgbGVmdCA9IHBbY3Vycl0uZmlyc3QsIHJpZ2h0ID0gcFtjdXJyXS5zZWNvbmQ7CiAgICBpbnQgcG9zID0gZm9vKGN1cnIgKyAxLCBuIC0gMSwgcmlnaHQpOwogICAgd2hpbGUocG9zIDwgbiAmJiBwW3Bvc10uZmlyc3QgPCByaWdodCkgcG9zKys7CgogICAgaW50IGFucyA9IG0gLSByaWdodDsKICAgIGZvcihpbnQgaiA9IHBvczsgaiA8IG47IGorKyl7CiAgICAgICAgaW50IGN1cnJfYW5zID0gcFtqXS5maXJzdCAtIHJpZ2h0ICsgcmVjdXIoaik7CiAgICAgICAgYW5zID0gbWluKGFucywgY3Vycl9hbnMpOwogICAgfQogICAgZHBbY3Vycl0gPSBhbnM7CiAgICByZXR1cm4gYW5zOwp9Cgp2b2lkIHNvbHZlKCl7CiAgICBwcmludCgpOyBjb3V0IDw8IGVuZGw7CiAgICBzb3J0KHAsIHArbik7CiAgICBwcmludCgpOwoKICAgIGludCBhbnMgPSAxMDAwMDAwMDAxOwogICAgZm9yKGludCBqID0gMDsgaiA8IDEwMDAwMTsgaisrKQogICAgICAgIGRwW2pdID0gLTE7CgogICAgZm9yKGludCBqID0gMDsgaiA8IG47IGorKykKICAgICAgICBhbnMgPSBtaW4oYW5zLCBwW2pdLmZpcnN0ICsgcmVjdXIoaikpOwoKICAgIGNvdXQgPDwgYW5zIDw8IGVuZGw7CiAgICByZXR1cm47Cn0KCmludCBtYWluKCl7CiAgICBpb3NfYmFzZSA6OiBzeW5jX3dpdGhfc3RkaW8oZmFsc2UpOwogICAgY2luLnRpZShOVUxMKTsKCiAgICBjaW4gPj4gbiA+PiBtOwogICAgZm9yKGludCBqID0gMDsgaiA8IG47IGorKykKICAgICAgICBjaW4gPj4gcFtqXS5maXJzdCA+PiBwW2pdLnNlY29uZDsKCiAgICBzb2x2ZSgpOwogICAgcmV0dXJuIDA7Cn0K