#include <bits/stdc++.h>
using namespace std;
inline void readI(int *i) {
  int t = 0;
  register char z = 'a';
  int znak = 1;
  z = getc(stdin);
  if (z == '-') {
    znak = -1;
  }
  while ((z < '0') || ('9' < z)) {
    z = getc(stdin);
    if (z == '-') {
      znak = -1;
    }
  }
  while (('0' <= z) && (z <= '9')) {
    t = (t << 3) + (t << 1) + z - '0';
    z = getc(stdin);
  }
  *i = (t * znak);
}
inline void readUI(int *i) {
  int t = 0;
  register char z = 'a';
  z = getc(stdin);
  while ((z < '0') || ('9' < z)) {
    z = getc(stdin);
  }
  while (('0' <= z) && (z <= '9')) {
    t = (t << 3) + (t << 1) + z - '0';
    z = getc(stdin);
  }
  *i = t;
}
inline void readL(long long int *l) {
  long long int t = 0;
  register char z = 'a';
  int znak = 1;
  z = getc(stdin);
  if (z == '-') {
    znak *= -1;
  }
  while ((z < '0') || ('9' < z)) {
    z = getc(stdin);
    if (z == '-') {
      znak = -1;
    }
  }
  while (('0' <= z) && (z <= '9')) {
    t = (t << 3) + (t << 1) + z - '0';
    z = getc(stdin);
  }
  *l = (t * znak);
}
inline void readUL(long long int *l) {
  long long int t = 0;
  register char z = 'a';
  z = getc(stdin);
  while ((z < '0') || ('9' < z)) {
    z = getc(stdin);
  }
  while (('0' <= z) && (z <= '9')) {
    t = (t << 3) + (t << 1) + z - '0';
    z = getc(stdin);
  }
  *l = t;
}
inline void writeI(int i) {
  if (i == 0) {
    putc(48, stdout);
  } else {
    if (i < 0) {
      i *= -1;
      putc(45, stdout);
    }
    int _tab[12];
    int wsk = 0;
    while (i > 0) {
      ++wsk;
      _tab[wsk] = (i % 10) + 48;
      i /= 10;
    }
    for (int j = wsk; j >= 1; --j) {
      putc(_tab[j], stdout);
    }
  }
}
inline void writeL(long long int l) {
  if (l == 0) {
    putc(48, stdout);
  } else {
    if (l < 0) {
      l *= -1;
      putc(45, stdout);
    }
    int _tab[21];
    int wsk = 0;
    while (l > 0) {
      ++wsk;
      _tab[wsk] = (l % 10) + 48;
      l /= 10;
    }
    for (int j = wsk; j >= 1; --j) {
      putc(_tab[j], stdout);
    }
  }
}
inline void writeS(string s) {
  int l = s.length();
  for (int i = 0; i < l; ++i) {
    putc(s[i], stdout);
  }
}
inline void writeC(char c) { putc(c, stdout); }
inline void space() { putc(32, stdout); }
inline void endl() { putc(10, stdout); }
int n;
long long int lewo, prawo, dol, gora, wyn4, wynik;
pair<long long int, long long int> tab[300005];
int main() {
  readI(&n);
  lewo = dol = 1000696969;
  gora = prawo = -1000696969;
  for (int i = 1; i <= n; ++i) {
    readL(&tab[i].first);
    readL(&tab[i].second);
    lewo = min(lewo, tab[i].first);
    prawo = max(prawo, tab[i].first);
    gora = max(gora, tab[i].second);
    dol = min(dol, tab[i].second);
  }
  wyn4 = ((gora - dol) << 1) + ((prawo - lewo) << 1);
  for (int i = 1; i <= n; ++i) {
    long long int pion, poziom;
    if (gora - tab[i].second < tab[i].second - dol) {
      pion = tab[i].second - dol;
    } else {
      pion = gora - tab[i].second;
    }
    if (prawo - tab[i].first < tab[i].first - lewo) {
      poziom = tab[i].first - lewo;
    } else {
      poziom = prawo - tab[i].first;
    }
    wynik = max(wynik, (pion << 1) + (poziom << 1));
  }
  writeL(wynik);
  space();
  for (int i = 4; i <= n; ++i) {
    writeL(wyn4);
    space();
  }
  return 0;
}
