#include <bits/stdc++.h>
using namespace std;
const int mod = 1e9 + 7;
const int N = 1e6 + 10;
const long long INF = 1e18;
const long double EPS = 1e-12;
int x[300005];
int y[300005];
int dist(int i, int j) { return abs(x[i] - x[j]) + abs(y[i] - y[j]); }
set<int> se;
vector<int> vec;
int n;
int solve() {
  int ans = 0;
  for (int i = 0; i < (int)vec.size(); i++) {
    for (int j = (int)i + 1; j < (int)vec.size(); j++) {
      for (int k = 0; k < (int)n; k++) {
        if (vec[i] == k || vec[j] == k) continue;
        int tans = dist(vec[i], vec[j]) + dist(vec[j], k) + dist(k, vec[i]);
        ans = max(ans, tans);
      }
    }
  }
  return ans;
}
int l, r, u, d;
int main() {
  ios::sync_with_stdio(false);
  cin.tie(NULL);
  cin >> n;
  for (int i = 0; i < (int)n; i++) {
    cin >> x[i] >> y[i];
    if (x[i] <= x[l]) {
      l = i;
    }
    if (x[i] >= x[r]) {
      r = i;
    }
    if (y[i] <= y[d]) {
      d = i;
    }
    if (y[i] >= y[u]) {
      u = i;
    }
  }
  se.insert(l);
  se.insert(r);
  se.insert(u);
  se.insert(d);
  for (auto it : se) vec.push_back(it);
  int m = (int)(vec.size());
  int ans = solve();
  cout << ans << " ";
  ans = 0;
  for (int i = 0; i < (int)m; i++) {
    int ii = (i + 1) % m;
    ans += dist(vec[i], vec[ii]);
  }
  for (int i = (int)4; i < (int)n + 1; i++) {
    cout << ans << " ";
  }
  cout << endl;
  return 0;
}
