#include <bits/stdc++.h>
using namespace std;
long long X[4 * 100000];
long long Y[4 * 100000];
void solve() {
  int n;
  scanf("%d\n", &n);
  for (int i = 0; i < n; ++i) scanf("%I64d%I64d", &X[i], &Y[i]);
  long long mx, Mx, my, My;
  mx = X[0];
  Mx = X[0];
  my = Y[0];
  My = Y[0];
  for (int i = 1; i < n; ++i) {
    mx = min(mx, X[i]);
    Mx = max(Mx, X[i]);
    my = min(my, Y[i]);
    My = max(My, Y[i]);
  }
  vector<int> good;
  for (int i = 0; i < n; ++i) {
    if (X[i] == mx || X[i] == Mx || Y[i] == my || Y[i] == My) good.push_back(i);
  }
  long long best = 0;
  int g = good.size();
  for (int i = 0; i < n; ++i) {
    for (int j = 0; j < g; ++j)
      if (good[j] != i)
        for (int k = j + 1; k < g; ++k)
          if (good[k] != i) {
            int a = good[j];
            int b = good[k];
            long long d = abs(X[i] - X[a]) + abs(Y[i] - Y[a]) +
                          abs(X[a] - X[b]) + abs(Y[a] - Y[b]) +
                          abs(X[b] - X[i]) + abs(Y[b] - Y[i]);
            best = max(best, d);
          }
  }
  printf("%I64d", best);
  for (int i = 4; i <= n; ++i) printf(" %I64d", (Mx - mx + My - my) * 2);
}
int main() {
  solve();
  return 0;
}
