#include <bits/stdc++.h>
using namespace std;
const int maxn = 1e5 + 5;
int n, ans[maxn];
struct Vector {
  int id, x, y;
} a[maxn];
int main() {
  scanf("%d", &n);
  for (int i = 0; i < n; i++) {
    scanf("%d %d", &a[i].x, &a[i].y);
    a[i].id = i;
  }
  while (true) {
    long long X = 0, Y = 0;
    for (int i = 0; i < n; i++) {
      if ((X + a[i].x) * (X + a[i].x) + (Y + a[i].y) * (Y + a[i].y) <=
          (X - a[i].x) * (X - a[i].x) + (Y - a[i].y) * (Y - a[i].y)) {
        ans[a[i].id] = 1;
        X += a[i].x;
        Y += a[i].y;
      } else {
        ans[a[i].id] = -1;
        X -= a[i].x;
        Y -= a[i].y;
      }
    }
    if (X * X + Y * Y <= 1.5e6 * 1.5e6) break;
    random_shuffle(a, a + n);
  }
  for (int i = 0; i < n; i++) printf("%d ", ans[i]);
  return 0;
}
