#include <bits/stdc++.h>
using namespace std;
bool SR(int &x) { return scanf("%d", &x) == 1; }
bool SR(long long &x) { return scanf("%lld", &x) == 1; }
bool SR(double &x) { return scanf("%lf", &x) == 1; }
bool SR(char *s) { return scanf("%s", s) == 1; }
bool RI() { return true; }
template <typename I, typename... T>
bool RI(I &x, T &...tail) {
  return SR(x) && RI(tail...);
}
void SP(const int x) { printf("%d", x); }
void SP(const long long x) { printf("%lld", x); }
void SP(const double x) { printf("%.16lf", x); }
void SP(const char *s) { printf("%s", s); }
void PL() { puts(""); }
template <typename I, typename... T>
void PL(const I x, const T... tail) {
  SP(x);
  if (sizeof...(tail)) putchar(' ');
  PL(tail...);
}
const int maxn = 4e5 + 5;
struct Bit {
  long long dat[maxn];
  int n;
  void init(int _n) { n = _n; }
  void add(int i, int x) {
    for (; i <= n; i += i & -i) dat[i] += x;
  }
  long long ask(int i) {
    long long ret = 0;
    for (; i >= 1; i -= i & -i) ret += dat[i];
    return ret;
  }
} bit;
struct H {
  map<int, int> pos;
  int get(int i) {
    if (pos.count(i)) return pos[i];
    return pos[i] = i;
  }
  void zet(int i, int x) { pos[i] = x; }
  vector<pair<int, int> > v;
  void build() {
    int prv = 1;
    for (auto p : pos) {
      if (prv < p.first) v.push_back(make_pair(prv, p.first - prv));
      v.push_back(make_pair(p.second, 1));
      prv = p.first + 1;
    }
  }
  void sol() {
    vector<int> odr;
    for (auto p : v) odr.push_back(p.first);
    sort((odr).begin(), (odr).end());
    for (auto &p : v)
      p.first =
          lower_bound((odr).begin(), (odr).end(), p.first) - odr.begin() + 1;
    bit.init(((int)(odr).size()));
    long long ans = 0;
    for (int i = ((int)(v).size()) - 1; i >= 0; i--) {
      ans += 1LL * bit.ask(v[i].first - 1) * v[i].second;
      bit.add(v[i].first, v[i].second);
    }
    PL(ans);
  }
} h;
int n;
void read() {
  RI(n);
  for (int i = 0; i < int(n); i++) {
    int a, b;
    RI(a, b);
    int p = h.get(a), q = h.get(b);
    h.zet(a, q);
    h.zet(b, p);
  }
}
int main() {
  read();
  h.build();
  h.sol();
  return 0;
}
