#include <bits/stdc++.h>
using namespace std;
int n;
vector<array<int, 2>> v, good;
long long f(int x, int y) {
  return abs(v[x][0] - v[y][0]) + abs(v[x][1] - v[y][1]);
}
int main() {
  ios_base::sync_with_stdio(0), cin.tie(0);
  cin >> n;
  v.resize(n);
  long long ans = 0;
  for (int i = 0; i < n; i++) {
    cin >> v[i][0] >> v[i][1];
  }
  int min_x = -1, max_x = -1, min_y = -1, max_y = -1;
  for (int i = 0; i < n; i++) {
    if (min_x == -1 || v[i][0] < v[min_x][0]) {
      min_x = i;
    }
    if (max_x == -1 || v[i][0] > v[max_x][0]) {
      max_x = i;
    }
    if (min_y == -1 || v[i][1] < v[min_y][1]) {
      min_y = i;
    }
    if (max_y == -1 || v[i][1] > v[max_y][1]) {
      max_y = i;
    }
    ans += f(i, (i + 1) % n);
  }
  if (n == 3) {
    return cout << ans, 0;
  }
  set<int> st;
  st.insert(min_x), st.insert(max_x), st.insert(min_y), st.insert(max_y);
  for (int i : st) good.push_back(v[i]);
  long long ans3 = 0;
  if ((int)(good).size() < 4) {
    ans3 = ans;
  } else {
    for (int i = 0; i < n; i++) {
      for (int j = 0; j < 4; j++) {
        for (int k = j + 1; k < 4; k++) {
          long long cur = 0;
          cur += abs(good[j][0] - v[i][0]) + abs(good[j][1] - v[i][1]);
          cur += abs(good[j][0] - good[k][0]) + abs(good[j][1] - good[k][1]);
          cur += abs(good[k][0] - v[i][0]) + abs(good[k][1] - v[i][1]);
          ans3 = max(ans3, cur);
        }
      }
    }
  }
  cout << ans3 << ' ';
  for (int i = 4; i <= n; i++) {
    cout << ans << ' ';
  }
}
