#include <bits/stdc++.h>
using namespace std;
const int maxn = 300010;
const int INF = 1e9 + 7;
struct node {
  int x, y;
} p[maxn];
int s[maxn];
int dis(int i, int j) { return abs(p[i].x - p[j].x) + abs(p[i].y - p[j].y); }
int main() {
  int n, top, i, num, ans, maxx, maxy, minx, miny, tmp, j, pos1, pos2, k;
  scanf("%d", &n);
  maxx = -INF;
  maxy = -INF;
  minx = INF;
  miny = INF;
  for (i = 1; i <= n; i++) {
    scanf("%d%d", &p[i].x, &p[i].y);
    maxx = max(maxx, p[i].x);
    maxy = max(maxy, p[i].y);
    minx = min(minx, p[i].x);
    miny = min(miny, p[i].y);
  }
  top = 0;
  for (i = 1; i <= n; i++) {
    if (p[i].x == minx || p[i].x == maxx || p[i].y == miny || p[i].y == maxy)
      s[++top] = i;
  }
  ans = 0;
  num = unique(s + 1, s + top + 1) - s - 1;
  for (i = 1; i <= num; i++) {
    for (j = i + 1; j <= num; j++) {
      pos1 = s[i];
      pos2 = s[j];
      for (k = 1; k <= n; k++) {
        if (k == pos1 || k == pos2) continue;
        tmp = dis(pos1, pos2) + dis(pos1, k) + dis(k, pos2);
        ans = max(ans, tmp);
      }
    }
  }
  for (i = 3; i <= n; i++) {
    if (i == 3) {
      printf("%d ", ans);
      continue;
    }
    printf("%d ", 2 * (maxx - minx + maxy - miny));
  }
  printf("\n");
  return 0;
}
