#include<bits/stdc++.h>
using namespace std;
const int N = 5e4 + 5;
int n , maxn[N] , minn[N] , maxn2[N] , minn2[N] , ans = 1e9;
struct node{
int x , y;
bool operator<(const node &a)const{
return x < a.x;
}
}a[N];
int main(){
cin >> n;
for(int i = 1;i <= n;i++)cin >> a[i].x >> a[i].y;
sort(a + 1 , a + n + 1);
maxn[1] = a[1].y;
for(int i = 2;i <= n;i++)maxn[i] = max(maxn[i - 1] , a[i].y);
minn[1] = a[1].y;
for(int i = 2;i <= n;i++)minn[i] = min(minn[i - 1] , a[i].y);
maxn2[n] = a[n].y;
for(int i = n - 1;i;i--)maxn2[i] = max(maxn2[i + 1] , a[i].y);
minn2[n] = a[n].y;
for(int i = n - 1;i;i--)minn2[i] = min(minn2[i + 1] , a[i].y);
for(int i = 1;i < n;i++)ans = min(ans , (maxn[i] - minn[i] + 1) * (a[i].x - a[1].x + 1) + (maxn2[i + 1] - minn2[i + 1] + 1) * (a[n].x - a[i + 1].x + 1));
cout << (a[n].x - a[1].x + 1) * (maxn[n] - minn[n] + 1) - ans;
return 0;
}