#include <bits/stdc++.h>
using namespace std;
const int MAXN = 3e5 + 5;
int N, H;
int xi, xa, yi, ya;
int a, b, c;
pair<int, int> A[MAXN];
int dist(int x, int y) {
  return abs(A[x].first - A[y].first) + abs(A[x].second - A[y].second);
}
void update() {
  H = max(H, dist(a, b) + dist(b, c) + dist(c, a));
  return;
}
int main() {
  ios_base::sync_with_stdio(0);
  cin.tie(0);
  cout.tie(0);
  cin >> N;
  for (int i = 0; i < N; i++) {
    cin >> A[i].first >> A[i].second;
    if (A[i].first < A[xi].first) {
      xi = i;
    }
    if (A[i].first > A[xa].first) {
      xa = i;
    }
    if (A[i].second < A[yi].second) {
      yi = i;
    }
    if (A[i].second > A[ya].second) {
      ya = i;
    }
  }
  a = ya;
  b = xi;
  c = xi;
  while (1) {
    while (A[b].second > A[a].second) {
      b = (b + N - 1) % N;
    }
    while (c != yi && A[(c + N - 1) % N].first <= A[a].first) {
      c = (c + N - 1) % N;
    }
    update();
    if (a == xa) {
      break;
    }
    a = (a + 1) % N;
  }
  a = xa;
  b = ya;
  c = ya;
  while (1) {
    while (A[b].first > A[a].first) {
      b = (b + N - 1) % N;
    }
    while (c != xi && A[(c + N - 1) % N].second >= A[a].second) {
      c = (c + N - 1) % N;
    }
    update();
    if (a == yi) {
      break;
    }
    a = (a + 1) % N;
  }
  a = yi;
  b = xa;
  c = xa;
  while (1) {
    while (A[b].second < A[a].second) {
      b = (b + N - 1) % N;
    }
    while (c != ya && A[(c + N - 1) % N].first >= A[a].first) {
      c = (c + N - 1) % N;
    }
    update();
    if (a == xi) {
      break;
    }
    a = (a + 1) % N;
  }
  a = xi;
  b = yi;
  c = yi;
  while (1) {
    while (A[b].first < A[a].first) {
      b = (b + N - 1) % N;
    }
    while (c != xa && A[(c + N - 1) % N].second <= A[a].second) {
      c = (c + N - 1) % N;
    }
    update();
    if (a == ya) {
      break;
    }
    a = (a + 1) % N;
  }
  cout << H;
  H = dist(ya, xa) + dist(xa, yi) + dist(yi, xi) + dist(xi, ya);
  for (int i = 3; i < N; i++) {
    cout << ' ' << H;
  }
  cout << '\n';
  return 0;
}
