#include <bits/stdc++.h>
using namespace std;
struct P {
  int x, y;
} a1[300005];
int sum(P a, P b, P c) {
  int su = 0;
  int mn = a.x;
  mn = min(mn, b.x);
  mn = min(mn, c.x);
  int mx = a.x;
  mx = max(mx, b.x);
  mx = max(mx, c.x);
  su += mx - mn;
  mn = a.y;
  mn = min(mn, b.y);
  mn = min(mn, c.y);
  mx = a.y;
  mx = max(mx, b.y);
  mx = max(mx, c.y);
  su += mx - mn;
  return 2 * su;
}
void test_case() {
  int n, i, j, k;
  scanf("%d", &n);
  for (i = 0; i < n; i++) {
    scanf("%d", &a1[i].x);
    scanf("%d", &a1[i].y);
  }
  int left = 0;
  for (i = 1; i < n; i++) {
    if (a1[i].x < a1[left].x) {
      left = i;
    }
  }
  int right = 0;
  for (i = 1; i < n; i++) {
    if (a1[i].x > a1[right].x) {
      right = i;
    }
  }
  int up = 0;
  for (i = 1; i < n; i++) {
    if (a1[i].y > a1[up].y) {
      up = i;
    }
  }
  int down = 0;
  for (i = 1; i < n; i++) {
    if (a1[i].y < a1[down].y) {
      down = i;
    }
  }
  int arr[4] = {up, down, left, right};
  int mx = 0;
  for (i = 0; i < 4; i++) {
    for (j = i + 1; j < 4; j++) {
      for (k = 0; k < n; k++) {
        if (k != arr[i] && k != arr[j]) {
          mx = max(mx, sum(a1[k], a1[arr[i]], a1[arr[j]]));
        }
      }
    }
  }
  printf("%d ", mx);
  mx = 2 * (a1[right].x - a1[left].x + a1[up].y - a1[down].y);
  for (i = 4; i <= n; i++) {
    printf("%d ", mx);
  }
}
int main() {
  int t = 1;
  while (t--) {
    test_case();
  }
  return 0;
}
