#include<bits/stdc++.h>
using namespace std;
int n , ans , vis[3030];
struct node {
int l , r , lon;
int xd[3030];
} a[3030];
int cmp(node x , node y) {
if(x.lon != y.lon) return x.lon > y.lon;
if(x.l == y.l) return x.r < y.r;
return x.l < y.l;
}
int main() {
scanf("%d" , &n);
for(int i = 1; i <= n; i ++) {
scanf("%d %d" , &a[i].l , &a[i].r);
a[i].lon = a[i].r - a[i].l;
}
sort(a + 1 , a + n + 1 , cmp);
for(int i = 1; i <= n; i ++) {
int k = 0;
for(int j = n; j > i; j --) {
if(a[i].l <= a[j].r && a[i].r >= a[j].l)
a[i].xd[++ k] = j;
}
if(k == 0) a[i].xd[1] = i;
}
for(int i = 1; i <= n; i ++) {
if(a[i].xd[1] && !vis[a[i].xd[1]]){
ans += a[a[i].xd[1]].lon;
vis[a[i].xd[1]] = 1;
}
}
printf("%d\n" , ans);
return 0;
}