#include <bits/stdc++.h>
using namespace std;
const int maxn = 3e5 + 10;
pair<int, int> pa[maxn];
pair<int, int> px, py, pxx, pyy;
int dis(pair<int, int> pa, pair<int, int> pb) {
  return abs(pa.first - pb.first) + abs(pb.second - pa.second);
}
int work(pair<int, int> pa, pair<int, int> pb, pair<int, int> pc) {
  return dis(pa, pb) + dis(pa, pc) + dis(pb, pc);
}
int make(pair<int, int> pb) {
  int ans = 0;
  ans = max(ans, work(px, pxx, pb));
  ans = max(ans, work(px, py, pb));
  ans = max(ans, work(px, pyy, pb));
  ans = max(ans, work(pxx, py, pb));
  ans = max(ans, work(pxx, pyy, pb));
  ans = max(ans, work(py, pyy, pb));
  return ans;
}
int main() {
  int n;
  scanf("%d", &n);
  for (int i = 1; i <= n; i++) {
    scanf("%d %d", &pa[i].first, &pa[i].second);
  }
  px = pa[1];
  py = px;
  pxx = px;
  pyy = px;
  for (int i = 1; i <= n; i++) {
    if (pa[i].first > px.first) {
      px = pa[i];
    }
    if (pa[i].first < pxx.first) {
      pxx = pa[i];
    }
    if (pa[i].second > py.second) {
      py = pa[i];
    }
    if (pa[i].second < pyy.second) {
      pyy = pa[i];
    }
  }
  int ans2 = 2 * (px.first - pxx.first + py.second - pyy.second);
  int ans1 = 0;
  for (int i = 1; i <= n; i++) {
    ans1 = max(ans1, make(pa[i]));
  }
  for (int i = 3; i <= n; i++) {
    if (i == 3)
      printf("%d ", ans1);
    else
      printf("%d ", ans2);
  }
}
