#include <bits/stdc++.h>
using namespace std;
const long long mod = 1e9 + 7;
const long long maxn = 1000100;
template <class _, class __>
inline void up(_& a, const __& b) {
  if (a < b) a = b;
}
template <class _, class __>
inline void down(_& a, const __& b) {
  if (a > b) a = b;
}
template <class _, class __>
inline void dec(_& a, const __& b) {
  (a -= b - mod) %= mod;
}
template <class _, class __>
inline void add(_& a, const __& b) {
  (a += b) %= mod;
}
long long n;
long long x[maxn], y[maxn];
inline long long get(long long a1, long long b1, long long a2, long long b2) {
  return abs(a1 - a2) + abs(b1 - b2);
}
long long calc(long long a1, long long b1, long long a2, long long b2,
               long long a3, long long b3) {
  return get(a1, b1, a2, b2) + get(a2, b2, a3, b3) + get(a3, b3, a1, b1);
}
inline long long Get() {
  long long ans = 0;
  long long L = 1, R = 1;
  long long U = 1, D = 1;
  for (long long i = 1; i <= n; ++i) {
    if (y[i] < y[L]) L = i;
    if (y[i] > y[R]) R = i;
    if (x[i] < x[D]) D = i;
    if (x[i] > x[U]) U = i;
  }
  for (long long i = 1; i <= n; ++i) {
    ans = max(calc(x[i], y[i], x[L], y[L], x[R], y[R]), ans);
    ans = max(calc(x[i], y[i], x[L], y[L], x[U], y[U]), ans);
    ans = max(calc(x[i], y[i], x[L], y[L], x[D], y[D]), ans);
    ans = max(calc(x[i], y[i], x[R], y[R], x[U], y[U]), ans);
    ans = max(calc(x[i], y[i], x[R], y[R], x[D], y[D]), ans);
    ans = max(calc(x[i], y[i], x[U], y[U], x[D], y[D]), ans);
  }
  return ans;
}
signed main() {
  ios::sync_with_stdio(false);
  cin >> n;
  long long h = -1e9, l = 1e9, L = 1e9, R = -1e9;
  for (long long i = 1; i <= n; ++i)
    cin >> x[i] >> y[i], up(h, x[i]), down(l, x[i]), up(R, y[i]), down(L, y[i]);
  long long ans = 0;
  if (n >= 3) cout << Get() << ' ';
  for (long long i = 4; i <= n; ++i) cout << (h - l + R - L) * 2 << ' ';
}
