#include <bits/stdc++.h>
using namespace std;
struct point {
  long long x, y;
};
point p[345678];
vector<point> important, ugly;
vector<int> ilist;
int n;
long long ans[345678];
long long distance(int i, int j) {
  return llabs(important[i].x - important[j].x) +
         llabs(important[i].y - important[j].y);
}
long long distance(point p, point q) {
  return llabs(p.x - q.x) + llabs(p.y - q.y);
}
long long dp[15][15][15][15];
long long lovetourist(int i, int f, int l, int k) {
  if (k == 0) return distance(f, l);
  if (i == important.size()) return -1e17;
  if (dp[i + 1][f + 1][l + 1][k + 1] != -1)
    return dp[i + 1][f + 1][l + 1][k + 1];
  long long ret = lovetourist(i + 1, f, l, k);
  if (f == -1)
    ret = max(ret, lovetourist(i + 1, i, i, k - 1));
  else
    ret = max(ret, distance(l, i) + lovetourist(i + 1, f, i, k - 1));
  return dp[i + 1][f + 1][l + 1][k + 1] = ret;
}
long long respecttourist() {
  long long res = -1e17;
  for (int i = 0; i < ilist.size(); i++) {
    for (int j = i + 1; j < ilist.size(); j++) {
      for (int k = 1; k <= n; k++) {
        if (k == ilist[i] || k == ilist[j]) continue;
        res = max(res, distance(p[ilist[i]], p[ilist[j]]) +
                           distance(p[ilist[i]], p[k]) +
                           distance(p[ilist[j]], p[k]));
      }
    }
  }
  return res;
}
int main() {
  cin >> n;
  long long minx, maxx, miny, maxy, sum = 0;
  for (int i = 1; i <= n; i++) {
    cin >> p[i].x >> p[i].y;
    if (i == 1) {
      minx = p[i].x;
      maxx = p[i].x;
      miny = p[i].y;
      maxy = p[i].y;
    }
    minx = min(minx, p[i].x);
    maxx = max(maxx, p[i].x);
    miny = min(miny, p[i].y);
    maxy = max(maxy, p[i].y);
  }
  p[n + 1] = p[1];
  for (int i = 1; i <= n; i++) {
    sum += llabs(p[i].x - p[i + 1].x) + llabs(p[i].y - p[i + 1].y);
    ilist.push_back(i);
    if (p[i].x == minx)
      important.push_back(p[i]);
    else if (p[i].x == maxx)
      important.push_back(p[i]);
    else if (p[i].y == miny)
      important.push_back(p[i]);
    else if (p[i].y == maxy)
      important.push_back(p[i]);
    else {
      ugly.push_back(p[i]);
      ilist.pop_back();
    }
  }
  memset(dp, -1, sizeof(dp));
  long long res = lovetourist(0, -1, -1, important.size());
  assert(sum == res);
  int k = n;
  while (!ugly.empty()) {
    ans[k--] = res;
    ugly.pop_back();
  }
  for (int i = important.size(); i >= 3; i--)
    ans[k--] = lovetourist(0, -1, -1, i);
  ans[3] = max(ans[3], respecttourist());
  for (int i = 3; i <= n; i++) cout << ans[i] << " ";
  return 0;
}
