#include"iostream" #include"stdio.h" #include"algorithm" using namespace std; const int MAXN=10005; typedef long long ll; int n,s; struct Node { int productCostPerUnit; int requireNum; }; Node weeks[MAXN]; ll Solve() { ll sum=0; int i=0; while(i<n) { sum+=weeks[i].productCostPerUnit*weeks[i].requireNum; int k=1; while(i+k<n&&weeks[i].productCostPerUnit+k*s<weeks[i+k].productCostPerUnit) { sum+=(weeks[i].productCostPerUnit+k*s)*weeks[i+k].requireNum; k++; } i=i+k; } return sum; } int main() { while(scanf("%d%d",&n,&s)==2) { for(int i=0;i<n;i++) scanf("%d%d",&weeks[i].productCostPerUnit,&weeks[i].requireNum); cout<<Solve()<<endl; } return 0; }