#include <bits/stdc++.h>
using namespace std;
int n, s, x;
int l[100100], r[100100];
void quickSort(int a[100100], int b[100100], int z, int y) {
  if (z <= y) {
    int key = a[(z + y) / 2];
    int i = z;
    int j = y;
    while (i <= j) {
      while (a[i] < key) i++;
      while (a[j] > key) j--;
      if (i <= j) {
        swap(a[i], a[j]);
        swap(b[i], b[j]);
        i++;
        j--;
      }
    }
    if (z < j) quickSort(a, b, z, j);
    if (y > i) quickSort(a, b, i, y);
  }
}
int main() {
  cin >> n >> x;
  for (int i = 1; i <= n; i++) {
    cin >> l[i] >> r[i];
  }
  quickSort(l, r, 1, n);
  int i = 1;
  int j = 1;
  while (i < r[n]) {
    if (i == l[j]) {
      s = s + r[j] - l[j] + 1;
      i = r[j] + 1;
      j++;
    } else if (i + x <= l[j]) {
      i = i + x;
    } else if (i + x > l[j]) {
      s = s + r[j] - i + 1;
      i = r[j] + 1;
      j++;
    }
  }
  if (l[n] == r[n] && l[n] == r[n - 1] + 1) {
    s++;
  }
  cout << s;
}
