//
// Created by lenovo on 2024/1/17.
//
#include<iostream>
#include<algorithm>
using namespace std;
struct line{
long long l;
long long r;
}arr[100000*2+10];
int times = 1;
bool comp(line a,line b){
//printf("%d",times++);
if (a.l < b.l){
return true;
}else if(a.l > b.l){
return false;
} else{
if(a.r >= b.r){
return true;
}else{
return false;
}
}
}
int main(){
int num;
cin>>num;
if(num == 0){
cout<<'0';
return 0;
}
for(int i = 0;i < num;i++){
cin>>arr[i].l>>arr[i].r;
if(arr[i].l > arr[i].r){
long long temp;
temp = arr[i].l;
arr[i].l = arr[i].r;
arr[i].r = temp;
}
}
sort(&arr[0] ,&arr[num - 1],comp);
long long ans = 0;
long long pre_l = arr[0].l - 1,pre_r = arr[0].l - 1;
for(int i = 0;i < num;i++){
if(arr[i].l > pre_l){
if(arr[i].l >= pre_r){
ans += arr[i].r - arr[i].l;
pre_r = arr[i].r;
}else{
if(arr[i].r > pre_r){
ans += arr[i].r - pre_r;
pre_r = arr[i].r;
}
}
pre_l = arr[i].l;
}
}
cout<<ans;
return 0;
}