#include <bits/stdc++.h>
using namespace std;
const int N = 3e5 + 69;
int n;
pair<long long, long long> pt[N];
long long ext[2][2];
vector<pair<long long, long long> > ep[2][2];
long long md(pair<long long, long long> a, pair<long long, long long> b) {
  return abs(a.first - b.first) + abs(a.second - b.second);
}
long long perimeter(pair<long long, long long> a, pair<long long, long long> b,
                    pair<long long, long long> c) {
  return md(a, b) + md(b, c) + md(c, a);
}
int main() {
  ios_base::sync_with_stdio(0);
  cin.tie(0), cout.tie(0);
  cin >> n;
  ext[0][1] = ext[1][1] = -1e9;
  ext[0][0] = ext[1][0] = 1e9;
  for (int i = 1; i <= n; i++) {
    long long x, y;
    cin >> x >> y;
    ext[0][0] = min(ext[0][0], x);
    ext[0][1] = max(ext[0][1], x);
    ext[1][0] = min(ext[1][0], y);
    ext[1][1] = max(ext[1][1], y);
    pt[i] = make_pair(x, y);
  }
  for (int i = 1; i <= n; i++) {
    long long x = pt[i].first, y = pt[i].second;
    for (int j = 0; j < 2; j++) {
      if (ext[0][j] == x) ep[0][j].push_back(pt[i]);
      if (ext[1][j] == y) ep[1][j].push_back(pt[i]);
    }
  }
  for (int i = 0; i < 2; i++)
    for (int j = 0; j < 2; j++) sort(ep[i][j].begin(), ep[i][j].end());
  long long ans = 0;
  for (int i = 0; i < 2; i++) {
    for (int j = 0; j < 2; j++) {
      int a = (int)ep[0][i].size();
      int b = (int)ep[1][j].size();
      if (a == 1 && b == 1 && ep[0][i][0] == ep[1][j][0]) continue;
      int p1 = ((i == 0) ? b - 1 : 0);
      int p2 = ((j == 0) ? a - 1 : 0);
      pair<long long, long long> pt1 = ep[0][i][p2], pt2 = ep[1][j][p1];
      for (int i = 1; i <= n; i++) {
        if (pt[i] == pt1 || pt[i] == pt2) continue;
        ans = max(ans, perimeter(pt1, pt2, pt[i]));
      }
    }
  }
  long long ans_max = 2 * (ext[0][1] + ext[1][1] - ext[0][0] - ext[1][0]);
  cout << ans << " ";
  for (int i = 4; i <= n; i++) cout << ans_max << " ";
}
