#include <bits/stdc++.h>
using namespace std;
using ll = long long;
using ld = long double;
const int inf = 1e9;
const int mxn = 3e5 + 10;
pair<int, int> pt[mxn];
ll calc(const pair<int, int> &A, const pair<int, int> &B,
        const pair<int, int> &C) {
  return 1ll * (abs(A.first - B.first) + abs(B.first - C.first) +
                abs(C.first - A.first) + abs(A.second - B.second)) +
         abs(B.second - C.second) + abs(C.second - A.second);
}
signed main() {
  ios_base::sync_with_stdio(0);
  cin.tie(0);
  cout.tie(0);
  int n;
  cin >> n;
  for (int i = 0; i < n; i++) cin >> pt[i].first >> pt[i].second;
  set<pair<int, int> > cand;
  pair<int, int> x_mx = make_pair(-inf, -inf);
  for (int i = 0; i < n; i++) {
    if (pt[i].first > x_mx.first) x_mx = pt[i];
  }
  cand.insert(x_mx);
  pair<int, int> x_mn = make_pair(inf, inf);
  for (int i = 0; i < n; i++) {
    if (pt[i].first < x_mn.first) x_mn = pt[i];
  }
  cand.insert(x_mn);
  pair<int, int> y_mx = make_pair(-inf, -inf);
  for (int i = 0; i < n; i++) {
    if (pt[i].second > y_mx.second) y_mx = pt[i];
  }
  cand.insert(y_mx);
  pair<int, int> y_mn = make_pair(inf, inf);
  for (int i = 0; i < n; i++) {
    if (pt[i].second < y_mn.second) y_mn = pt[i];
  }
  cand.insert(y_mn);
  assert(2 <= (int)cand.size());
  int ans = x_mx.first - x_mn.first + y_mx.second - y_mn.second;
  vector<pair<int, int> > vals;
  for (auto a : cand) vals.push_back(a);
  ll ans3 = 0;
  for (int i = 0; i < (int)vals.size(); i++)
    for (int j = i + 1; j < (int)vals.size(); j++) {
      for (int k = 0; k < n; k++)
        if (pt[k] != vals[i] and pt[k] != vals[j]) {
          ans3 = max(1ll * calc(vals[i], vals[j], pt[k]), ans3);
        }
    }
  cout << ans3 << " ";
  for (int i = 4; i <= n; i++) cout << 2 * ans << " ";
  cout << '\n';
  return 0;
}
