#include<bits/stdc++.h>
using namespace std;
struct node{
int begin,end;
bool operator<(node a)const{
return begin<a.begin;
}
void read(){
cin>>begin>>end;
}
}a[10010];
int n,ans,j,i,l;
int main(){
cin>>n>>l;
for(i=1;i<=n;i++){
a[i].read();
}
sort(a+1,a+n+1);
j=a[1].begin;
for(i=1;i<=n;i++){
while (j<a[i].end){
j+=l;
ans++;
}
j=max(j,a[i+1].begin);
}
cout<<ans;
return 0;
}