#include<bits/stdc++.h>
using namespace std;
struct node{
long long t,z;
}a[30000005];
long long n,k,c[30000005],sum;
int cmp(node x,node y){
return x.t<y.t;
}
int main(){
cin>>n>>k;
for(int i=1;i<=n;i++) cin>>a[i].t>>a[i].z;
sort(a+1,a+n+1,cmp);
for(int i=1;i<=a[n].t+3;i++) c[i]=k;
for(int i=1;i<=n;i++){
if(c[a[i].t]>=a[i].z){
sum+=a[i].z;
c[a[i].t]-=a[i].z;
}
else if(c[a[i].t]+c[a[i].t+1]>=a[i].z){
c[a[i].t+1]-=(a[i].z-c[a[i].t]);
c[a[i].t]=0;
sum+=a[i].z;
}
else{
sum+=(c[a[i].t]+c[a[i].t+1]);
c[a[i].t]=0;
c[a[i].t+1]=0;
}
}
cout<<sum;
}