#include <bits/stdc++.h>
using namespace std;
void err(istream_iterator<string> it) {}
template <typename T, typename... Args>
void err(istream_iterator<string> it, T a, Args... args) {
  cerr << *it << " = " << a << "\n";
  err(++it, args...);
}
const double PI = acos(-1);
const double eps = (1e-9);
const long long int INF = 2e9;
const int M = (1e9) + 7;
const int N = (1e6) + 5;
vector<pair<int, int> > point;
int get_min(int n) {
  int x = M, y = M, ind = -1;
  int i, a, b;
  for (i = 0; i < n; ++i) {
    tie(a, b) = point[i];
    if (a < x)
      x = a, y = b, ind = i;
    else if (a == x && b < y)
      y = b, ind = i;
  }
  return ind;
}
int get_max(int n) {
  int x = -M, y = -M, ind = -1;
  int i, a, b;
  for (i = 0; i < n; ++i) {
    tie(a, b) = point[i];
    if (a > x)
      x = a, y = b, ind = i;
    else if (a == x && b > y)
      y = b, ind = i;
  }
  return ind;
}
int query(int i, int j, int n) {
  int a, x, b, y, na, nb, nx, ny, k, p, q;
  a = min(point[i].first, point[j].first);
  x = max(point[i].first, point[j].first);
  b = min(point[i].second, point[j].second);
  y = max(point[i].second, point[j].second);
  int ans = x + y - a - b;
  for (k = 0; k < n; ++k) {
    tie(p, q) = point[k];
    na = min(a, p);
    nx = max(x, p);
    nb = min(b, q);
    ny = max(y, q);
    if (ny + nx - na - nb > ans) ans = ny + nx - na - nb;
  }
  return ans;
}
void solve() {
  int n, i, j;
  scanf("%d", &n);
  point.resize(n);
  for (i = 0; i < n; ++i) scanf("%d%d", &point[i].first, &point[i].second);
  vector<int> v(4);
  v[0] = get_min(n);
  v[1] = get_max(n);
  for (i = 0; i < n; ++i) swap(point[i].first, point[i].second);
  v[2] = get_min(n);
  v[3] = get_max(n);
  int ans = 0;
  for (i = 0; i < 4; ++i) {
    for (j = 0; j < i; ++j) ans = max(ans, query(v[i], v[j], n));
  }
  printf("%d ", 2 * ans);
  v.resize(n);
  ans = 0;
  for (i = 0; i < n; ++i) v[i] = point[i].first;
  int a, b;
  a = *max_element(v.begin(), v.end());
  b = *min_element(v.begin(), v.end());
  ans += (a - b);
  for (i = 0; i < n; ++i) v[i] = point[i].second;
  a = *max_element(v.begin(), v.end());
  b = *min_element(v.begin(), v.end());
  ans += (a - b);
  for (i = 0; i < n - 3; ++i) printf("%d ", 2 * ans);
  printf("\n");
}
int main() {
  int t;
  t = 1;
  while (t--) solve();
}
