#include <bits/stdc++.h>
using namespace std;
#include "atcoder/all"
using namespace atcoder;
#define rep(i, n) for (int i = 0; i < (n); ++i)
//using mint=modint998244353;
long long op(long long a, long long b) { return a+b; }
long long e() { return 0; }
//vector<long long> a(5*(10e5)+1,0);
//segtree<long long, op, e> seg(a);
//seg.prod(int l, int r) op(l,l+1,l+2,...r-1/)
void solve(){
long long n,d,ans=0,sum=0;
cin>>n>>d;
vector<pair<int,int>>a(n);
vector<long long>s(2e6,0);
rep(i,n)cin>>a[i].first>>a[i].second;
sort(a.begin(),a.end());
segtree<long long,op,e>seg(s),zeg(s);
rep(i,n){
if(a[i].first+d<=a[i].second){
ans+=seg.prod(a[i].first+d,a[i].second)-(a[i].first+d-1)*zeg.prod(a[i].first+d,a[i].second);
ans+=zeg.prod(a[i].second,2e6)*(a[i].second-a[i].first-d+1);
}
seg.set(a[i].second,seg.get(a[i].second)+a[i].second);
zeg.set(a[i].second,zeg.get(a[i].second)+1);
}
cout<<ans<<endl;
}
int main(){
ios::sync_with_stdio(false);
cin.tie(nullptr);
int t=1;
//cin>>t;
while(t--)solve();
}