#include<bits/stdc++.h>
using namespace std;
#define int long long
int n,m,res,ans,ANS,t[200002],le[200002],ri[200002];
main(){
cin>>n>>m;
for(int i=1;i<=n;i++)cin>>t[i];
sort(t+1,t+n+1);
for(int i=1;i<=n;i++)i==1?le[1]=t[1]:le[i]=max(t[i],t[i-1]+m),i==n?ri[n]=t[n]+m-1:ri[i]=min(t[i]+m-1,t[i+1]-1),res+=max(ri[i]-le[i]+1,0ll);
for(int i=1;i<=n;i++){
ans=res-max(ri[i]-le[i]+1,0ll)+m;
ans+=(i==1?0:max(min({t[i+1]-1,t[i-1]+m-1})-ri[i-1],0ll))+(i==n?0:max(le[i+1]-max({t[i+1],t[i-1]+m}),0ll));
ANS=max(ANS,ans);
}
cout<<ANS;
return 0;
}