#include <bits/stdc++.h>
using namespace std;
int main() {
int n;
cin >> n;
vector<pair<long long, long long>> a(n);
for (int i = 0; i < n; i++) {
cin >> a[i].first >> a[i].second;
}
sort(a.begin(), a.end());// Sắp xếp theo thời gian bắt đầu
long long maxlength = 0;
long long xt = a[0].first, yt = a[0].second;
for (int i = 1; i < n; i++) {
long long x = a[i].first, y = a[i].second;
if(x <= yt){ // thỏa mãn để nối
yt = max(yt, y); // lấy kết thúc dài hơn
} else { // kiểm tra khi không nối được
maxlength = max(maxlength, yt - xt);
xt = x;
yt = y;
}
}
maxlength = max(maxlength, yt - xt); // kiểm tra đoạn cuối cùng
cout << maxlength << endl;
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgoKaW50IG1haW4oKSB7CiAgICBpbnQgbjsKICAgIGNpbiA+PiBuOwogICAgdmVjdG9yPHBhaXI8bG9uZyBsb25nLCBsb25nIGxvbmc+PiBhKG4pOwogICAgZm9yIChpbnQgaSA9IDA7IGkgPCBuOyBpKyspIHsKICAgICAgICBjaW4gPj4gYVtpXS5maXJzdCA+PiBhW2ldLnNlY29uZDsKICAgIH0KICAgIHNvcnQoYS5iZWdpbigpLCBhLmVuZCgpKTsvLyBT4bqvcCB44bq/cCB0aGVvIHRo4budaSBnaWFuIGLhuq90IMSR4bqndQoKICAgIGxvbmcgbG9uZyBtYXhsZW5ndGggPSAwOwogICAgbG9uZyBsb25nIHh0ID0gYVswXS5maXJzdCwgeXQgPSBhWzBdLnNlY29uZDsKICAgIGZvciAoaW50IGkgPSAxOyBpIDwgbjsgaSsrKSB7CiAgICAgICAgbG9uZyBsb25nIHggPSBhW2ldLmZpcnN0LCB5ID0gYVtpXS5zZWNvbmQ7CiAgICAgICAgaWYoeCA8PSB5dCl7IC8vIHRo4buPYSBtw6NuIMSR4buDIG7hu5FpCiAgICAgICAgICAgIHl0ID0gbWF4KHl0LCB5KTsgLy8gbOG6pXkga+G6v3QgdGjDumMgZMOgaSBoxqFuCiAgICAgICAgfSBlbHNlIHsgLy8ga2nhu4NtIHRyYSBraGkga2jDtG5nIG7hu5FpIMSRxrDhu6NjCiAgICAgICAgICAgIG1heGxlbmd0aCA9IG1heChtYXhsZW5ndGgsIHl0IC0geHQpOwogICAgICAgICAgICB4dCA9IHg7CiAgICAgICAgICAgIHl0ID0geTsKICAgICAgICB9CiAgICB9CiAgICBtYXhsZW5ndGggPSBtYXgobWF4bGVuZ3RoLCB5dCAtIHh0KTsgLy8ga2nhu4NtIHRyYSDEkW/huqFuIGN14buRaSBjw7luZwoKICAgIGNvdXQgPDwgbWF4bGVuZ3RoIDw8IGVuZGw7CiAgICByZXR1cm4gMDsKfQ==