#include <bits/stdc++.h>
using namespace std;
int n, x, y;
vector<pair<pair<int, int>, int> > v;
int cev[100005];
double euc(pair<int, int> p) {
  return sqrt(1ll * p.first * p.first + 1ll * p.second * p.second);
}
void solve() {
  vector<int> ans;
  pair<int, int> po = {0, 0};
  for (pair<pair<int, int>, int> vv : v) {
    pair<int, int> p1 = {po.first + vv.first.first,
                         po.second + vv.first.second};
    pair<int, int> p2 = {po.first - vv.first.first,
                         po.second - vv.first.second};
    if (euc(p1) < euc(p2)) {
      ans.push_back(1);
      po = p1;
    } else {
      ans.push_back(-1);
      po = p2;
    }
  }
  if (euc(po) > 1500000) return;
  for (int i = 0; i < (int)ans.size(); i++) cev[v[i].second] = ans[i];
  for (int i = 1; i <= n; i++) printf("%d ", cev[i]);
  exit(0);
}
int main() {
  srand(time(NULL));
  scanf("%d", &n);
  for (int i = 1; i <= n; i++) {
    scanf("%d %d", &x, &y);
    v.push_back({{x, y}, i});
  }
  while (1) {
    solve();
    random_shuffle(v.begin(), v.end());
  }
}
