#include<cstdio>
#include<algorithm>
#include<set>
#define N 1919810
#define int long long
using namespace std;
int n,len,las,cnt[N],all,ans=1e18,d;
struct cow{
int ps,h;
bool operator<(const cow &a)const{return ps<a.ps;}
}a[N];
set<int>st;
void add(int x){
if(!st.empty())if(*(--st.end())-*st.begin()>=d)ans=min(ans,len);
len+=a[x].ps-a[x-1].ps;
st.insert(a[x].h);
if(!st.empty())if(*(--st.end())-*st.begin()>=d)ans=min(ans,len);
}
void del(int x){
if(!st.empty())if(*(--st.end())-*st.begin()>=d)ans=min(ans,len);
len-=a[x+1].ps-a[x].ps;
st.erase(a[x].h);
if(!st.empty())if(*(--st.end())-*st.begin()>=d)ans=min(ans,len);
}
signed main(){
scanf("%lld%lld",&n,&d);
for(int i=1;i<=n;i++)scanf("%lld%lld",&a[i].ps,&a[i].h);
sort(a+1,a+n+1);
a[0].ps=a[1].ps;
int l=1,r=0;
while(r<n){
add(++r);
while(l<=r&&*(--st.end())-*st.begin()>=d)del(l++);
}
if(ans!=1e18)printf("%lld",ans);
else puts("-1");
return 0;
}