#include<bits/stdc++.h>
using namespace std;
int xxs[524288];
int main(){
int n,k;cin>>n>>k;
long long tnt=0;
for(int i=1;i<=n;i++){
int d,z;cin>>d>>z;
xxs[d]+=z;
tnt+=z;
}
for(int i=1;i<=n+2;i++){
//cout<<xxs[i]<<" ";
if(xxs[i-1]>k)xxs[i-1]-=k;//先完成昨天的
else{
int sy=k;sy-=xxs[i-1];//干完昨天的,还剩多少?
xxs[i-1]=0;//昨天的已经被干好了
xxs[i]=max(xxs[i]-sy,0);//计算出还剩多少给明天干
}
//tnt+=min(k,xxs[i-1]+xxs[i]-k);
// int sy=k-xxs[i-1];//剩下的能力
// if(sy<0)xxs[i-1]-=k;//昨天的都打不完 h
// else xxs[i-1]-=
}
//cout<<"<<总任务"<<endl;
long long h=0;
for(int i=1;i<=n+2;i++){
//cout<<xxs[i]<<" ";
h+=xxs[i];
}
cout<</*"<<没干完的"<<endl<<tnt<<endl<<*/tnt-h;
return 0;
}
2 3 4 8 9 WA了qwq