#include <iostream>
#include <vector>
#include <utility>
#include <algorithm>
using namespace std;
#define REP(i, n) for(ll i=0; i<n; i++)
#define FOR(i, a, b) for(ll i=a; i<=b; i++)
typedef long long ll;
const ll MX = 1e5;
const ll MY = 5*1e2;
const ll INF = 1e15;
vector<pair<ll, ll> >v;
int main()
{
ll n;
cin>>n;
REP(i, n)
{
ll k, f;
cin>>k>>f;
v.push_back({k,f});
}
v.push_back({MX, 500});
v.push_back({0, 0});
sort(v.begin(), v.end());
ll area=0;
REP(i, v.size())
{
ll currlow = 500;
FOR(j, i+1, v.size()-1)
{
area = max(area, currlow*(v[j].first-v[i].first));
currlow = min(currlow, v[j].second);
}
}
cout<<area<<endl;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8dmVjdG9yPgojaW5jbHVkZSA8dXRpbGl0eT4KI2luY2x1ZGUgPGFsZ29yaXRobT4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKIAojZGVmaW5lIFJFUChpLCBuKSBmb3IobGwgaT0wOyBpPG47IGkrKykKI2RlZmluZSBGT1IoaSwgYSwgYikgZm9yKGxsIGk9YTsgaTw9YjsgaSsrKQogCnR5cGVkZWYgbG9uZyBsb25nIGxsOwogCmNvbnN0IGxsIE1YID0gMWU1Owpjb25zdCBsbCBNWSA9IDUqMWUyOwpjb25zdCBsbCBJTkYgPSAxZTE1OwogCnZlY3RvcjxwYWlyPGxsLCBsbD4gPnY7CiAKIAppbnQgbWFpbigpCnsKICAgICAgICBsbCBuOwogICAgICAgIGNpbj4+bjsKICAgICAgICBSRVAoaSwgbikKICAgICAgICB7CiAgICAgICAgICAgICAgICBsbCBrLCBmOwogICAgICAgICAgICAgICAgY2luPj5rPj5mOwogICAgICAgICAgICAgICAgdi5wdXNoX2JhY2soe2ssZn0pOwogICAgICAgIH0KICAgICAgICB2LnB1c2hfYmFjayh7TVgsIDUwMH0pOwogICAgICAgIHYucHVzaF9iYWNrKHswLCAwfSk7CiAgICAgICAgCiAgICAgICAgc29ydCh2LmJlZ2luKCksIHYuZW5kKCkpOwogICAgICAgIGxsIGFyZWE9MDsKICAgICAgICBSRVAoaSwgdi5zaXplKCkpCiAgICAgICAgewogICAgICAgICAgICAgICAgbGwgY3VycmxvdyA9IDUwMDsKICAgICAgICAgICAgICAgIEZPUihqLCBpKzEsIHYuc2l6ZSgpLTEpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIGFyZWEgPSBtYXgoYXJlYSwgY3VycmxvdyoodltqXS5maXJzdC12W2ldLmZpcnN0KSk7CiAgICAgICAgICAgICAgICAgICAgICAgIGN1cnJsb3cgPSBtaW4oY3VycmxvdywgdltqXS5zZWNvbmQpOwogICAgICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICAKICAgICAgICBjb3V0PDxhcmVhPDxlbmRsOwp9IA==