#include <bits/stdc++.h>
using namespace std;
const int MAXN = 4000;
struct Tree {
  int a, b;
};
vector<Tree> tt;
int cmp(Tree l, Tree r) { return l.a < r.a; }
int main() {
  int n, v;
  cin >> n >> v;
  int maxday = 0;
  for (int i = 0; i < n; i++) {
    Tree t;
    cin >> t.a >> t.b;
    tt.push_back(t);
    maxday = max(t.b, maxday);
  }
  sort(tt.begin(), tt.end(), cmp);
  int ans = 0;
  int temp = 0;
  int day = 1;
  while (day < 4000) {
    temp = 0;
    for (int i = 0; i < n && temp < v; i++) {
      Tree& t = tt[i];
      if (t.a + 1 == day) {
        if (t.b == 0) continue;
        if (v - temp >= t.b) {
          temp += t.b;
          t.b = 0;
        } else {
          t.b -= (v - temp);
          temp = v;
        }
      }
    }
    for (int i = 0; i < n && temp < v; i++) {
      Tree& t = tt[i];
      if (t.a == day) {
        if (t.b == 0) continue;
        if (v - temp >= t.b) {
          temp += t.b;
          t.b = 0;
        } else {
          t.b -= (v - temp);
          temp = v;
        }
      }
    }
    ans += temp;
    day++;
  }
  cout << ans << endl;
  return 0;
}
