def main():
import sys
input = sys.stdin.read().split()
idx = 0
N = int(input[idx])
idx += 1
L = []
R = []
for _ in range(N):
l = int(input[idx])
r = int(input[idx+1])
L.append(l)
R.append(r)
idx += 2
# Compute prefix max L and min R
prefix_max_L = [0] * (N)
prefix_min_R = [0] * (N)
prefix_max_L[0] = L[0]
prefix_min_R[0] = R[0]
for i in range(1, N):
prefix_max_L[i] = max(prefix_max_L[i-1], L[i])
prefix_min_R[i] = min(prefix_min_R[i-1], R[i])
# Compute suffix max L and min R
suffix_max_L = [0] * (N)
suffix_min_R = [0] * (N)
suffix_max_L[-1] = L[-1]
suffix_min_R[-1] = R[-1]
for i in range(N-2, -1, -1):
suffix_max_L[i] = max(suffix_max_L[i+1], L[i])
suffix_min_R[i] = min(suffix_min_R[i+1], R[i])
max_sum = 0
# Check all possible splits into prefix and suffix
for k in range(1, N):
# Group1: first k elements
max_L1 = prefix_max_L[k-1]
min_R1 = prefix_min_R[k-1]
joy1 = max(0, min_R1 - max_L1 + 1) if min_R1 >= max_L1 else 0
# Group2: remaining elements
max_L2 = suffix_max_L[k]
min_R2 = suffix_min_R[k]
joy2 = max(0, min_R2 - max_L2 + 1) if min_R2 >= max_L2 else 0
current_sum = joy1 + joy2
if current_sum > max_sum:
max_sum = current_sum
# Check all possible splits where one group is a single problem
left_max_L = [0] * (N+2)
right_max_L = [0] * (N+2)
left_min_R = [float('inf')] * (N+2)
right_min_R = [float('inf')] * (N+2)
# Compute left_max_L and left_min_R
for i in range(1, N+1):
left_max_L[i] = max(left_max_L[i-1], L[i-1])
left_min_R[i] = min(left_min_R[i-1], R[i-1])
# Compute right_max_L and right_min_R
for i in range(N, 0, -1):
right_max_L[i] = max(right_max_L[i+1], L[i-1])
right_min_R[i] = min(right_min_R[i+1], R[i-1])
for i in range(1, N+1):
# max_L_rest is max of left and right parts excluding i
max_L_rest = max(left_max_L[i-1], right_max_L[i+1])
min_R_rest = min(left_min_R[i-1], right_min_R[i+1])
joy_rest = max(0, min_R_rest - max_L_rest + 1) if min_R_rest >= max_L_rest else 0
# joy_i is the single problem's joy
joy_i = max(0, R[i-1] - L[i-1] + 1) if R[i-1] >= L[i-1] else 0
current_sum = joy_rest + joy_i
if current_sum > max_sum:
max_sum = current_sum
print(max_sum)
if __name__ == '__main__':
main()
ZGVmIG1haW4oKToKICAgIGltcG9ydCBzeXMKICAgIGlucHV0ID0gc3lzLnN0ZGluLnJlYWQoKS5zcGxpdCgpCiAgICBpZHggPSAwCiAgICBOID0gaW50KGlucHV0W2lkeF0pCiAgICBpZHggKz0gMQogICAgTCA9IFtdCiAgICBSID0gW10KICAgIGZvciBfIGluIHJhbmdlKE4pOgogICAgICAgIGwgPSBpbnQoaW5wdXRbaWR4XSkKICAgICAgICByID0gaW50KGlucHV0W2lkeCsxXSkKICAgICAgICBMLmFwcGVuZChsKQogICAgICAgIFIuYXBwZW5kKHIpCiAgICAgICAgaWR4ICs9IDIKCiAgICAjIENvbXB1dGUgcHJlZml4IG1heCBMIGFuZCBtaW4gUgogICAgcHJlZml4X21heF9MID0gWzBdICogKE4pCiAgICBwcmVmaXhfbWluX1IgPSBbMF0gKiAoTikKICAgIHByZWZpeF9tYXhfTFswXSA9IExbMF0KICAgIHByZWZpeF9taW5fUlswXSA9IFJbMF0KICAgIGZvciBpIGluIHJhbmdlKDEsIE4pOgogICAgICAgIHByZWZpeF9tYXhfTFtpXSA9IG1heChwcmVmaXhfbWF4X0xbaS0xXSwgTFtpXSkKICAgICAgICBwcmVmaXhfbWluX1JbaV0gPSBtaW4ocHJlZml4X21pbl9SW2ktMV0sIFJbaV0pCgogICAgIyBDb21wdXRlIHN1ZmZpeCBtYXggTCBhbmQgbWluIFIKICAgIHN1ZmZpeF9tYXhfTCA9IFswXSAqIChOKQogICAgc3VmZml4X21pbl9SID0gWzBdICogKE4pCiAgICBzdWZmaXhfbWF4X0xbLTFdID0gTFstMV0KICAgIHN1ZmZpeF9taW5fUlstMV0gPSBSWy0xXQogICAgZm9yIGkgaW4gcmFuZ2UoTi0yLCAtMSwgLTEpOgogICAgICAgIHN1ZmZpeF9tYXhfTFtpXSA9IG1heChzdWZmaXhfbWF4X0xbaSsxXSwgTFtpXSkKICAgICAgICBzdWZmaXhfbWluX1JbaV0gPSBtaW4oc3VmZml4X21pbl9SW2krMV0sIFJbaV0pCgogICAgbWF4X3N1bSA9IDAKCiAgICAjIENoZWNrIGFsbCBwb3NzaWJsZSBzcGxpdHMgaW50byBwcmVmaXggYW5kIHN1ZmZpeAogICAgZm9yIGsgaW4gcmFuZ2UoMSwgTik6CiAgICAgICAgIyBHcm91cDE6IGZpcnN0IGsgZWxlbWVudHMKICAgICAgICBtYXhfTDEgPSBwcmVmaXhfbWF4X0xbay0xXQogICAgICAgIG1pbl9SMSA9IHByZWZpeF9taW5fUltrLTFdCiAgICAgICAgam95MSA9IG1heCgwLCBtaW5fUjEgLSBtYXhfTDEgKyAxKSBpZiBtaW5fUjEgPj0gbWF4X0wxIGVsc2UgMAoKICAgICAgICAjIEdyb3VwMjogcmVtYWluaW5nIGVsZW1lbnRzCiAgICAgICAgbWF4X0wyID0gc3VmZml4X21heF9MW2tdCiAgICAgICAgbWluX1IyID0gc3VmZml4X21pbl9SW2tdCiAgICAgICAgam95MiA9IG1heCgwLCBtaW5fUjIgLSBtYXhfTDIgKyAxKSBpZiBtaW5fUjIgPj0gbWF4X0wyIGVsc2UgMAoKICAgICAgICBjdXJyZW50X3N1bSA9IGpveTEgKyBqb3kyCiAgICAgICAgaWYgY3VycmVudF9zdW0gPiBtYXhfc3VtOgogICAgICAgICAgICBtYXhfc3VtID0gY3VycmVudF9zdW0KCiAgICAjIENoZWNrIGFsbCBwb3NzaWJsZSBzcGxpdHMgd2hlcmUgb25lIGdyb3VwIGlzIGEgc2luZ2xlIHByb2JsZW0KICAgIGxlZnRfbWF4X0wgPSBbMF0gKiAoTisyKQogICAgcmlnaHRfbWF4X0wgPSBbMF0gKiAoTisyKQogICAgbGVmdF9taW5fUiA9IFtmbG9hdCgnaW5mJyldICogKE4rMikKICAgIHJpZ2h0X21pbl9SID0gW2Zsb2F0KCdpbmYnKV0gKiAoTisyKQoKICAgICMgQ29tcHV0ZSBsZWZ0X21heF9MIGFuZCBsZWZ0X21pbl9SCiAgICBmb3IgaSBpbiByYW5nZSgxLCBOKzEpOgogICAgICAgIGxlZnRfbWF4X0xbaV0gPSBtYXgobGVmdF9tYXhfTFtpLTFdLCBMW2ktMV0pCiAgICAgICAgbGVmdF9taW5fUltpXSA9IG1pbihsZWZ0X21pbl9SW2ktMV0sIFJbaS0xXSkKCiAgICAjIENvbXB1dGUgcmlnaHRfbWF4X0wgYW5kIHJpZ2h0X21pbl9SCiAgICBmb3IgaSBpbiByYW5nZShOLCAwLCAtMSk6CiAgICAgICAgcmlnaHRfbWF4X0xbaV0gPSBtYXgocmlnaHRfbWF4X0xbaSsxXSwgTFtpLTFdKQogICAgICAgIHJpZ2h0X21pbl9SW2ldID0gbWluKHJpZ2h0X21pbl9SW2krMV0sIFJbaS0xXSkKCiAgICBmb3IgaSBpbiByYW5nZSgxLCBOKzEpOgogICAgICAgICMgbWF4X0xfcmVzdCBpcyBtYXggb2YgbGVmdCBhbmQgcmlnaHQgcGFydHMgZXhjbHVkaW5nIGkKICAgICAgICBtYXhfTF9yZXN0ID0gbWF4KGxlZnRfbWF4X0xbaS0xXSwgcmlnaHRfbWF4X0xbaSsxXSkKICAgICAgICBtaW5fUl9yZXN0ID0gbWluKGxlZnRfbWluX1JbaS0xXSwgcmlnaHRfbWluX1JbaSsxXSkKICAgICAgICBqb3lfcmVzdCA9IG1heCgwLCBtaW5fUl9yZXN0IC0gbWF4X0xfcmVzdCArIDEpIGlmIG1pbl9SX3Jlc3QgPj0gbWF4X0xfcmVzdCBlbHNlIDAKCiAgICAgICAgIyBqb3lfaSBpcyB0aGUgc2luZ2xlIHByb2JsZW0ncyBqb3kKICAgICAgICBqb3lfaSA9IG1heCgwLCBSW2ktMV0gLSBMW2ktMV0gKyAxKSBpZiBSW2ktMV0gPj0gTFtpLTFdIGVsc2UgMAogICAgICAgIGN1cnJlbnRfc3VtID0gam95X3Jlc3QgKyBqb3lfaQogICAgICAgIGlmIGN1cnJlbnRfc3VtID4gbWF4X3N1bToKICAgICAgICAgICAgbWF4X3N1bSA9IGN1cnJlbnRfc3VtCgogICAgcHJpbnQobWF4X3N1bSkKCmlmIF9fbmFtZV9fID09ICdfX21haW5fXyc6CiAgICBtYWluKCk=