1 #include <bits/stdc++.h>
2 using namespace std;
3 int sum[100001];
4 pair<int,int>Pa[100005],Pr[100005];
5 int main(){
6 int n,m;
7 while(~scanf("%d%d",&n,&m)){
8 memset(sum,0,sizeof(sum));
9 int x=0;
10 for(int i=1;i<=n;i++){
11 scanf("%d%d",&Pa[i].first,&Pa[i].second);
12 }
13 int l=0;
14 sort(Pa,Pa+n+1);
15 for(int i=1;i<=n;i++){
16 if(l&&Pa[i].first<=Pr[l].second+1){
17 Pr[l].second=max(Pa[i].second,Pr[l].second);
18 }else{
19 Pr[++l]=Pa[i];
20 }
21 }
22 for(int i=1;i<=l;i++){
23 sum[i]=sum[i-1]+(Pr[i].second-Pr[i].first+1);
24 }
25 for(int L=1,i=1;i<=l;i++){
26 while(Pr[i].second-Pr[L].first+1-(sum[i]-sum[L-1])>m){
27 L++;
28 }
29 x=max(x,sum[i]-sum[L-1]+m);
30 }
31 printf("%d\n",x);
32 }
33 return 0;
34 }