#include <bits/stdc++.h>
#pragma GCC optimize("O3")
using namespace std;
template <class c>
struct rge {
  c b, e;
};
template <class c>
rge<c> range(c i, c j) {
  return rge<c>{i, j};
}
template <class c>
auto dud(c* x) -> decltype(cerr << *x, 0);
template <class c>
char dud(...);
struct debug {
  template <class c>
  debug& operator<<(const c&) {
    return *this;
  }
};
void mini(int& a, int b) { a = min(a, b); }
void maxi(int& a, int b) { a = max(a, b); }
int main() {
  int n;
  scanf("%d", &n);
  vector<int> x(n), y(n);
  int big_x = INT_MIN;
  int small_x = INT_MAX;
  int big_y = INT_MIN;
  int small_y = INT_MAX;
  for (int i = 0; i < n; ++i) {
    scanf("%d%d", &x[i], &y[i]);
    mini(small_x, x[i]);
    mini(small_y, y[i]);
    maxi(big_x, x[i]);
    maxi(big_y, y[i]);
  }
  int best = 0;
  for (int i = 0; i < n; ++i) {
    maxi(best, big_x - x[i] + big_y - y[i]);
    maxi(best, x[i] - small_x + big_y - y[i]);
    maxi(best, x[i] - small_x + y[i] - small_y);
    maxi(best, big_x - x[i] + y[i] - small_y);
  }
  printf("%d ", 2 * best);
  for (int i = 4; i <= n; ++i) {
    printf("%d ", 2 * (big_x - small_x + big_y - small_y));
  }
  puts("");
}
