#include <iostream>
#include <bits/stdc++.h>
using namespace std;
//----------MACROS----------
#define int long long int
#define seea(a,x,y) for(int i=x;i<y;i++){cin>>a[i];}
#define seev(v,n) for(int i=0;i<n;i++){int x; cin>>x; v.push_back(x);}
#define sees(s,n) for(int i=0;i<n;i++){int x; cin>>x; s.insert(x);}
#define forn(i, a, b) for(int i=a; i<b; i++)
#define vi vector<int>
#define pi pair<int, int>
#define f first
#define s second
#define pb push_back
#define mp make_pair
#define mod 1000000007
int t, n, m, k, a, b, c, x, y, q, ans;
signed main() {
ios::sync_with_stdio(false);
cin.tie(0);
/* freopen("lifeguards.in", "r", stdin); */
/* freopen("lifeguards.out", "w", stdout); */
cin >> n;
vector<pi> v(n);
forn(i, 0, n) cin >> a >> b, v[i] = {a, b};
sort(v.begin(), v.end());
/* for (auto x : v) putl(x.f, x.s); */
// Compute the initial cover, when no lifeguards have been removed.
k = v[0].s - v[0].f;
forn(i, 1, n) {
k += v[i].s - v[i].f;
if (v[i].f <= v[i-1].s) k -= (min(v[i-1].s, v[i].s) - v[i].f);
}
ans = -1e18;
// One by one remove a lifeguard, and find the current cover
// in O(1) time using initial cover.
forn (i, 0, n) {
int f1 = 0, f2 = 0;
// Find overlap with next interval.
if (i < n-1)
f2 = min(v[i+1].s, v[i].s) - v[i+1].f;
// Find overlap with prev interval.
if (i > 0)
f1 = min(v[i].s, v[i-1].s) - v[i].f;
// Compute cover with this interval removed.
x = k + f1 + f2 - (v[i].s - v[i].f);
ans = max(ans, x);
}
cout << ans << endl;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8Yml0cy9zdGRjKysuaD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCgovLy0tLS0tLS0tLS1NQUNST1MtLS0tLS0tLS0tCiNkZWZpbmUgaW50IGxvbmcgbG9uZyBpbnQKI2RlZmluZSBzZWVhKGEseCx5KSBmb3IoaW50IGk9eDtpPHk7aSsrKXtjaW4+PmFbaV07fQojZGVmaW5lIHNlZXYodixuKSBmb3IoaW50IGk9MDtpPG47aSsrKXtpbnQgeDsgY2luPj54OyB2LnB1c2hfYmFjayh4KTt9CiNkZWZpbmUgc2VlcyhzLG4pIGZvcihpbnQgaT0wO2k8bjtpKyspe2ludCB4OyBjaW4+Png7IHMuaW5zZXJ0KHgpO30KI2RlZmluZSBmb3JuKGksIGEsIGIpIGZvcihpbnQgaT1hOyBpPGI7IGkrKykKCiNkZWZpbmUgdmkgdmVjdG9yPGludD4KI2RlZmluZSBwaSBwYWlyPGludCwgaW50PgojZGVmaW5lIGYgZmlyc3QKI2RlZmluZSBzIHNlY29uZAojZGVmaW5lIHBiIHB1c2hfYmFjawojZGVmaW5lIG1wIG1ha2VfcGFpcgojZGVmaW5lIG1vZCAxMDAwMDAwMDA3CgppbnQgdCwgbiwgbSwgaywgYSwgYiwgYywgeCwgeSwgcSwgYW5zOwoKc2lnbmVkIG1haW4oKSB7CiAgICBpb3M6OnN5bmNfd2l0aF9zdGRpbyhmYWxzZSk7CiAgICBjaW4udGllKDApOwogICAgCiAgICAvKiBmcmVvcGVuKCJsaWZlZ3VhcmRzLmluIiwgInIiLCBzdGRpbik7ICovCiAgICAvKiBmcmVvcGVuKCJsaWZlZ3VhcmRzLm91dCIsICJ3Iiwgc3Rkb3V0KTsgKi8KICAgIAogICAgY2luID4+IG47CiAgICB2ZWN0b3I8cGk+IHYobik7CgogICAgZm9ybihpLCAwLCBuKSBjaW4gPj4gYSA+PiBiLCB2W2ldID0ge2EsIGJ9OwoKICAgIHNvcnQodi5iZWdpbigpLCB2LmVuZCgpKTsKCiAgICAvKiBmb3IgKGF1dG8geCA6IHYpIHB1dGwoeC5mLCB4LnMpOyAqLwogIAogICAgLy8gQ29tcHV0ZSB0aGUgaW5pdGlhbCBjb3Zlciwgd2hlbiBubyBsaWZlZ3VhcmRzIGhhdmUgYmVlbiByZW1vdmVkLgogICAgayA9IHZbMF0ucyAtIHZbMF0uZjsKICAgIGZvcm4oaSwgMSwgbikgewogICAgICAgIGsgKz0gdltpXS5zIC0gdltpXS5mOwogICAgICAgIGlmICh2W2ldLmYgPD0gdltpLTFdLnMpIGsgLT0gKG1pbih2W2ktMV0ucywgdltpXS5zKSAtIHZbaV0uZik7CiAgICB9CgogICAgYW5zID0gLTFlMTg7CiAgICAgCiAgICAvLyBPbmUgYnkgb25lIHJlbW92ZSBhIGxpZmVndWFyZCwgYW5kIGZpbmQgdGhlIGN1cnJlbnQgY292ZXIKICAgIC8vIGluIE8oMSkgdGltZSB1c2luZyBpbml0aWFsIGNvdmVyLgogICAgZm9ybiAoaSwgMCwgbikgewogICAgICAgIGludCBmMSA9IDAsIGYyID0gMDsKICAgICAgICAKICAgICAgICAvLyBGaW5kIG92ZXJsYXAgd2l0aCBuZXh0IGludGVydmFsLgogICAgICAgIGlmIChpIDwgbi0xKQogICAgICAgICAgICBmMiA9IG1pbih2W2krMV0ucywgdltpXS5zKSAtIHZbaSsxXS5mOwogICAgICAgIAogICAgICAgIC8vIEZpbmQgb3ZlcmxhcCB3aXRoIHByZXYgaW50ZXJ2YWwuCiAgICAgICAgaWYgKGkgPiAwKQogICAgICAgICAgICBmMSA9IG1pbih2W2ldLnMsIHZbaS0xXS5zKSAtIHZbaV0uZjsKICAgICAgICAKICAgICAgICAvLyBDb21wdXRlIGNvdmVyIHdpdGggdGhpcyBpbnRlcnZhbCByZW1vdmVkLgogICAgICAgIHggPSBrICsgZjEgKyBmMiAtICh2W2ldLnMgLSB2W2ldLmYpOyAKCiAgICAgICAgYW5zID0gbWF4KGFucywgeCk7CiAgICB9CiAgICAKICAgIGNvdXQgPDwgYW5zIDw8IGVuZGw7CiAgICByZXR1cm4gMDsKfQoK