#include <iostream>
#define int long long
using namespace std;
const int N = 3e5 + 20;
int l[N], r[N], m[N], p[N], k[N];
int n;
signed main()
{
cin >> n;
int last = 0, st;
int o = 0;
for (int i = 1; i <= n; i ++ )
{
scanf("%d%d", &l[i], &r[i]);
p[l[i]] += 1;
p[r[i] + 1] -= 1;
o = max(o, r[i]);
m[l[i]] = 1;
m[r[i]] = 1;
if(k[l[i]] == 2) k[l[i]] = 3;
else k[l[i]] = 1;
if(k[r[i]] == 1) k[r[i]] = 3;
else k[r[i]] = 2;
}
// cout << p[1] << " ";
for (int i = 2; i <= o; i ++ )
{
p[i] += p[i - 1];
// cout << p[i] << " " ;
}
//cout << endl;
for (int i = 1; i <= o; i ++ )
{
p[i] *= i;
}
long long ans = 0;
int l1 = 0, r1 = 0;
for (int i = 1; i <= o; i ++ )
{
if(!l1 && m[i])
{
l1 = i;
}
else if(l1 && m[i])
{
r1 = i;
int l2 = l1, r2 = r1;
if(k[l1] == 2 && k[r1] == 1)
{
l1 = r1;
r1 = 0;
}
if(k[l1] == 2 || k[l1] == 3)
{
l2 ++;
}
if(k[r1] == 1 || k[r1] == 3)
{
r2 --;
}
ans = max(ans, p[r2] - p[l2]);
l1 = r1;
r1 = 0;
}
}
cout << ans;
return 0;
}