#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int main()
{
ios::sync_with_stdio(false);
cin.tie(0);
int n;
cin >> n;
vector<pair<int, int>> vec;
while (n--)
{
int l, r;
cin >> l >> r;
vec.push_back({l, r});
}
sort(vec.begin(), vec.end());
int l = vec[0].first, r = vec[0].second;
int result = 0;
for (int i = 1; i < vec.size(); ++i)
{
if (vec[i].first <= r) // 有重疊
r = max(r, vec[i].second);
else
{
result += r - l;
l = vec[i].first;
r = vec[i].second;
}
}
result += r - l;
cout << result;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8dmVjdG9yPgojaW5jbHVkZSA8YWxnb3JpdGhtPgoKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCmludCBtYWluKCkKewogICAgaW9zOjpzeW5jX3dpdGhfc3RkaW8oZmFsc2UpOwogICAgY2luLnRpZSgwKTsKCiAgICBpbnQgbjsKICAgIGNpbiA+PiBuOwoKICAgIHZlY3RvcjxwYWlyPGludCwgaW50Pj4gdmVjOwogICAgd2hpbGUgKG4tLSkKICAgIHsKICAgICAgICBpbnQgbCwgcjsKICAgICAgICBjaW4gPj4gbCA+PiByOwogICAgICAgIHZlYy5wdXNoX2JhY2soe2wsIHJ9KTsKICAgIH0KCiAgICBzb3J0KHZlYy5iZWdpbigpLCB2ZWMuZW5kKCkpOwogICAgaW50IGwgPSB2ZWNbMF0uZmlyc3QsIHIgPSB2ZWNbMF0uc2Vjb25kOwogICAgaW50IHJlc3VsdCA9IDA7CiAgICBmb3IgKGludCBpID0gMTsgaSA8IHZlYy5zaXplKCk7ICsraSkKICAgIHsKICAgICAgICBpZiAodmVjW2ldLmZpcnN0IDw9IHIpIC8vIOaciemHjeeWigogICAgICAgICAgICByID0gbWF4KHIsIHZlY1tpXS5zZWNvbmQpOwogICAgICAgIGVsc2UKICAgICAgICB7CiAgICAgICAgICAgIHJlc3VsdCArPSByIC0gbDsKICAgICAgICAgICAgbCA9IHZlY1tpXS5maXJzdDsKICAgICAgICAgICAgciA9IHZlY1tpXS5zZWNvbmQ7CiAgICAgICAgfQogICAgfQogICAgcmVzdWx0ICs9IHIgLSBsOwogICAgY291dCA8PCByZXN1bHQ7CgogICAgcmV0dXJuIDA7Cn0K