#include <bits/stdc++.h>
using namespace std;

// ?Ni=1|xi-xA|·|yi-yA|
/* 3
2 1
1 2
3 3

0 1 4 */

int rX(vector<int>& tX, int x, int br)
{
    int rez = 0;
    for(int i = 0; i <= br; i++) {
        rez += abs(tX.at(i) - x);
    }
    return rez;
}

int rY(vector<int>& tY, int y, int br)
{
    int rez = 0;
    for(int i = 0; i <= br; i++) {
        rez += abs(tY.at(i) - y);
    }
    return rez;
}

int raz(vector<int>& tX, vector<int>& tY, int br, int x, int y)
{
    int res = 0;
    for(int i = 0; i <= br; i++) {
        res += abs(tX.at(i) - x) * abs(tY.at(i) - y);
    }
    return res;
}

int main()
{
    int n, maxR, minX, maxX, minY, maxY, tmp;
    vector<int> tX;
    vector<int> tY;

    cin >> n;
    tX.resize(n);
    tY.resize(n);
    for(int i = 0; i < n; i++) {
        cin >> tX.at(i) >> tY.at(i);
    }

    cout << 0 << endl;
    if(n == 1) { return 0; }
    for(int i = 1; i < n; i++) {
        minX = tX.at(0);
        maxX = tX.at(0);
        minY = tY.at(0);
        maxY = tY.at(0);
        for(int j = 1; j <= i; j++) {
            if(tX.at(j) < minX)
            {
                minX = tX.at(j);
            }
            if(tX.at(j) > maxX)
            {
                maxX = tX.at(j);
            }
            if(tY.at(j) < minY)
            {
                minY = tY.at(j);
            }
            if(tY.at(j) > maxY)
            {
                maxY = tY.at(j);
            }
        }
        cout << max(max(raz(tX, tY, i, minX, minY), raz(tX, tY, i, minX, maxY)), max(raz(tX, tY, i, maxX, minY), raz(tX, tY, i, maxX, maxY))) << endl;
    }

    return 0;
}