1911
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
bool compare(pair<int, int> a, pair<int, int> b) {
return a.first < b.first;
}
int main() {
int n, l;
vector<pair<int, int> > v;
cin >> n >> l;
for (int i = 0; i < n; i++) {
int start, end;
cin >> start >> end;
v.push_back(make_pair(start, end - 1));
}
sort(v.begin(), v.end(), compare);
int tmpStart = -1;
int cnt = 0;
for (int i = 0; i < n; i++) {
int start = v[i].first;
int end = v[i].second;
if(tmpStart < start) {
tmpStart = start;
}
while(tmpStart <= end) {
tmpStart += l;
cnt++;
}
}
cout << cnt;
}