#include <bits/stdc++.h>
using namespace std;
long long a[101010];
pair<long long, int> p[66], p2[66];
pair<long long, long long> p1[66];
int sz;
int id[101010];
void add(long long x, int k = 0) {
  for (int i = sz - 1; i >= 0; i--) {
    if (x > (x ^ p[i].first)) {
      x ^= p[i].first;
    }
  }
  if (x) {
    for (int i = 0; i < sz; i++) {
      if (x < p[i].first) {
        for (int j = sz; j > i; j--) p[j] = p[j - 1];
        p[i] = make_pair(x, k);
        sz++;
        return;
      }
    }
    p[sz++] = make_pair(x, k);
  }
}
int sz1 = 0;
long long st;
void add1(long long x, long long k) {
  for (int i = sz1 - 1; i >= 0; i--) {
    if (x > (x ^ p1[i].first)) {
      k ^= p1[i].second;
      x ^= p1[i].first;
    }
  }
  st = k;
  if (x) {
    for (int i = 0; i < sz1; i++) {
      if (x < p1[i].first) {
        for (int j = sz1; j > i; j--) p1[j] = p1[j - 1];
        p1[i] = make_pair(x, k);
        sz1++;
        return;
      }
    }
    p1[sz1++] = make_pair(x, k);
  }
}
int can(long long now, long long st, int n) {
  sz = 0;
  for (int i = 0; i < n; i++) add(st & a[i]);
  int ss = sz;
  add(now);
  return ss == sz;
}
void print(long long x, int d = 0) {
  if (d == 60) return;
  print(x >> 1, d + 1);
  putchar('0' + (x & 1LL));
}
int main() {
  int n;
  cin >> n;
  long long sum = 0;
  for (int i = 0; i < n; i++) scanf("%I64d", a + i), sum ^= a[i];
  long long now = 0, cur = 0;
  for (int i = 62; i >= 0; i--) {
    if (~(sum >> i) & 1LL) {
      cur |= 1LL << i;
      if (can(now ^ (1LL << i), cur, n)) now ^= 1LL << i;
    }
  }
  for (int i = 62; i >= 0; i--) {
    if ((sum >> i) & 1LL) {
      cur |= 1LL << i;
      if (!can(now, cur, n)) now ^= 1LL << i;
    }
  }
  sz = 0;
  for (int j = 0; j < n; j++) add(a[j], j);
  sz1 = 0;
  for (int j = 0; j < sz; j++) add1(a[p[j].second], 1LL << j);
  add1(now, 0);
  memset(id, 0, sizeof id);
  while (st) {
    id[p[__builtin_ctzll(st)].second] = 1;
    st -= st & -st;
  }
  long long mid = 0;
  for (int i = 0; i < n; i++)
    if (id[i]) mid ^= a[i];
  for (int i = 0; i < n; i++) putchar('1' + 1 - id[i]), putchar(' ');
  cout << endl;
  return 0;
}
