#include <bits/stdc++.h>
using namespace std;
const int M = 998244353, INF = 1 << 30;
int t, n, m, i, j, mx, mn, ans, mxx = -INF, mxy = -INF, mnx = INF, mny = INF;
struct str {
  int x, y;
} a[300005];
bool cmp1(str a, str b) { return a.x < b.x; }
bool cmp2(str a, str b) { return a.y < b.y; }
int dis(str x, str y) { return abs(x.x - y.x) + abs(x.y - y.y); }
int main() {
  scanf("%d", &n);
  for (i = 1; i <= n; i++) scanf("%d %d", &a[i].x, &a[i].y);
  sort(a + 1, a + 1 + n, cmp1);
  mx = mn = 1;
  for (i = 2; i <= n; i++) {
    if (a[mx].y < a[i].y) mx = i;
    if (a[mn].y > a[i].y) mn = i;
    ans = max(ans, dis(a[mn], a[i]) + dis(a[mn], a[1]) + dis(a[1], a[i]));
    ans = max(ans, dis(a[mx], a[i]) + dis(a[mx], a[1]) + dis(a[1], a[i]));
  }
  mx = mn = n;
  for (i = n - 1; i >= 1; i--) {
    if (a[mx].y < a[i].y) mx = i;
    if (a[mn].y > a[i].y) mn = i;
    ans = max(ans, dis(a[mn], a[i]) + dis(a[mn], a[n]) + dis(a[n], a[i]));
    ans = max(ans, dis(a[mx], a[i]) + dis(a[mx], a[n]) + dis(a[n], a[i]));
  }
  sort(a + 1, a + 1 + n, cmp2);
  mx = mn = 1;
  for (i = 2; i <= n; i++) {
    if (a[mx].x < a[i].x) mx = i;
    if (a[mn].x > a[i].x) mn = i;
    ans = max(ans, dis(a[mn], a[i]) + dis(a[mn], a[1]) + dis(a[1], a[i]));
    ans = max(ans, dis(a[mx], a[i]) + dis(a[mx], a[1]) + dis(a[1], a[i]));
  }
  mx = mn = n;
  for (i = n - 1; i >= 1; i--) {
    if (a[mx].x < a[i].x) mx = i;
    if (a[mn].x > a[i].x) mn = i;
    ans = max(ans, dis(a[mn], a[i]) + dis(a[mn], a[n]) + dis(a[n], a[i]));
    ans = max(ans, dis(a[mx], a[i]) + dis(a[mx], a[n]) + dis(a[n], a[i]));
  }
  printf("%d ", ans);
  for (i = 1; i <= n; i++) {
    mxx = max(mxx, a[i].x);
    mxy = max(mxy, a[i].y);
    mnx = min(mnx, a[i].x);
    mny = min(mny, a[i].y);
  }
  for (i = 1; i <= n - 3; i++) printf("%d ", 2 * (mxx - mnx) + 2 * (mxy - mny));
}
