#include <bits/stdc++.h>
using namespace std;
struct AA {
  long long a, b;
} A[200001];
int main() {
  long long n;
  cin >> n;
  for (long long i = 1; i <= n; i++) {
    scanf("%lld", &A[i].a);
    scanf("%lld", &A[i].b);
  }
  A[0].a = 0;
  A[0].b = 0;
  long long ans = 0;
  set<pair<long long int, long long int> > st;
  for (long long i = 1; i <= n; i++) {
    long long x = A[i - 1].a;
    long long y = A[i - 1].b;
    long long mn = min(A[i].a, A[i].b);
    long long xx = mn;
    long long yy = mn;
    if (x <= y) {
      if (y - x <= A[i].a - x) {
        x = y;
        ans += max(yy - y - 1, 0LL);
        if (x == y) {
          st.insert(make_pair(x, y));
        }
        if (xx == yy) {
          st.insert(make_pair(xx, yy));
        }
      } else {
        if (A[i].a == A[i].b) {
          st.insert(make_pair(A[i].a, A[i].b));
        }
        if (x == y) {
          st.insert(make_pair(x, y));
        }
      }
    } else {
      if (x - y <= A[i].b - y) {
        y = x;
        ans += max(yy - y - 1, 0LL);
        if (x == y) {
          st.insert(make_pair(x, y));
        }
        if (xx == yy) {
          st.insert(make_pair(xx, yy));
        }
      } else {
        if (A[i].a == A[i].b) {
          st.insert(make_pair(A[i].a, A[i].b));
        }
        if (x == y) {
          st.insert(make_pair(x, y));
        }
      }
    }
  }
  cout << ans + st.size() << endl;
}
