#include <bits/stdc++.h>
using namespace std;
const int N = 201010, inf = 1e6;
struct P {
  int x, y;
  P() {}
  P(int _x, int _y) { x = _x, y = _y; }
  P operator+(const P &c) const { return P(x + c.x, y + c.y); }
  P operator-(const P &c) const { return P(x - c.x, y - c.y); }
};
double dis(P a) { return sqrt(1. * a.x * a.x + 1. * a.y * a.y); }
int n, m, top;
int ls[N], rs[N], tag[N], sta[N], pre[N];
P p[N];
inline int newnode(P point) {
  p[++m] = point;
  tag[m] = 1;
  return m;
}
inline void gao() {
  for (int i = (0); i < (3); i++)
    for (int j = (i + 1); j < (3); j++) {
      double t;
      if ((t = dis(p[sta[top - i]] + p[sta[top - j]])) <= inf) {
        int u = newnode(p[sta[top - i]] + p[sta[top - j]]);
        ls[u] = sta[top - i];
        rs[u] = sta[top - j];
        sta[top - 2] = sta[top - 3 + i + j];
        sta[top - 1] = m;
        --top;
        return;
      }
      if ((t = dis(p[sta[top - i]] - p[sta[top - j]])) <= inf) {
        int u = newnode(p[sta[top - i]] - p[sta[top - j]]);
        ls[u] = sta[top - i];
        rs[u] = sta[top - j];
        tag[rs[u]] = -tag[rs[u]];
        sta[top - 2] = sta[top - 3 + i + j];
        sta[top - 1] = m;
        --top;
        return;
      }
    }
}
int main() {
  std::ios::sync_with_stdio(false);
  std::cin.tie(0);
  cin >> n;
  for (int i = (1); i < (n + 1); i++) {
    int x, y;
    cin >> x >> y;
    p[i] = P(x, y);
    tag[i] = 1;
    sta[++top] = i;
  }
  if (n == 1) {
    cout << 1 << "\n";
    return 0;
  }
  m = n;
  while (top >= 3) {
    gao();
  }
  int u;
  if (dis(p[sta[1]] + p[sta[2]]) < dis(p[sta[1]] - p[sta[2]])) {
    u = newnode(p[sta[1]] + p[sta[2]]);
    ls[u] = sta[1];
    rs[u] = sta[2];
  } else {
    u = newnode(p[sta[1]] - p[sta[2]]);
    ls[u] = sta[1];
    rs[u] = sta[2];
    tag[rs[u]] = -tag[rs[u]];
  }
  for (int i = (n + 1); i < (m + 1); i++) {
    pre[ls[i]] = pre[rs[i]] = i;
  }
  for (int i = m - 1; i; --i) {
    tag[i] *= tag[pre[i]];
  }
  for (int i = (1); i < (n + 1); i++) {
    cout << tag[i] << " ";
  }
  cout << "\n";
  return 0;
}
