#include <cstdio>
#include <algorithm>
#define MAXN 20005
using namespace std;
long long n,pos = 0,npos = 0,res = 0;
int ls[MAXN],rs[MAXN],num[2*MAXN],vir[2*MAXN];
int fd(int k){
int L = 0,R = npos - 1;
int m,ans = -1;
while(L <= R){
m = L + ((R - L) >> 1);
if(num[m] >= k){
ans = m;
R = m - 1;
}else{
L = m + 1;
}
}
return ans;
}
int main(){
scanf("%d",&n);
for(int i = 1;i <= n;++i){
scanf("%d%d",&ls[i],&rs[i]);
num[pos++] = ls[i];
num[pos++] = rs[i];
}
sort(num,num + pos);
npos = 0;
for(int i = 0;i < pos;++i){
if(num[i] != num[i-1]){
num[npos++] = num[i];
}
}
for(int i = 1;i <= n;++i){
vir[fd(ls[i])]++;
vir[fd(rs[i])]--;
}
for(int i = 1;i < npos;++i){
vir[i] += vir[i-1];
}
int l = 0,r;
for(int i = 1;i <= npos;++i){
if(vir[i-1] == 0 && vir[i] > 0)l = i;
if(vir[i-1] != 0 && vir[i] == 0){
r = i;
res += num[r] - num[l];
}
}
printf("%d",res);
return 0;
}