#include <bits/stdc++.h>
using namespace std;
const int N = 2e4 + 10;
typedef struct item ifo;
struct item
{
int l;
int r;
int nl;
int nr;
};
ifo get[N];
int zb[N * 2];
int a[N * 2];
int s[N * 2];
void add(int l, int r)
{
a[l]++;
a[r]--;
}
int main()
{
int n, i;
cin >> n;
for (i = 1; i <= n; i++)
{
int l, r;
cin >> l >> r;
get[i].l = l;
get[i].r = r;
zb[i] = l;
zb[i + n] = r;
}
sort(zb + 1, zb + 1 + n * 2);
int* k = unique(zb + 1, zb + 1 + n * 2);
for (i = 1; i <= n; i++)
{
get[i].nl = lower_bound(zb + 1, k, get[i].l) - (zb + 1) + 1;
get[i].nr = lower_bound(zb + 1, k, get[i].r) - (zb + 1) + 1;
}
for (i = 1; i <= n; i++)
{
add(get[i].nl + 1, get[i].nr + 1);
}
for (i = 1; i <= k - zb - 1; i++)
{
s[i] += s[i - 1] + a[i];
}
int l, r;
long long cnt = 0;
for (i = 1; i <= k - zb - 1; i++)
{
if (s[i] != 0 && s[i - 1] == 0)
{
l = i - 1;
}
if (s[i] != 0 && s[i + 1] == 0)
{
r = i;
cnt += zb[r] - zb[l];
}
}
cout << cnt;
system("pause");
return 0;
}