#include <bits/stdc++.h>
using namespace std;
int n;
long long x[100009], b[100009], d[100009], c;
bitset<100009> a[70];
void print() {
  for (int i = 0; i < 63; i++, puts(""))
    for (int j = 0; j <= n; j++) cout << a[i][j];
  puts("");
}
int main() {
  cin >> n;
  for (int i = 0; i < n; i++) {
    cin >> x[i], c ^= x[i];
    for (int j = 0; j < 63; j++) a[62 - j][i] = (x[i] & (1ll << j)) > 0;
  }
  int tt = 0;
  for (int i = 0; i < 63; i++) {
    long long mask = 1ll << (62 - i);
    if (~c & mask) {
      a[69] = a[i];
      for (int j = i; j > tt; j--) a[j] = a[j - 1];
      a[tt++] = a[69];
    }
  }
  int t = 0;
  for (int i = 0; i < 63; i++) {
    if (i < tt) a[i][n] = 1;
    for (int j = 0; j < t; j++)
      if (a[i][d[j]]) a[i] ^= a[j];
    int p = 0;
    for (; p < n && !a[i][p]; p++)
      ;
    if (p == n)
      a[i][n] = 0;
    else {
      for (int j = 0; j < t; j++)
        if (a[j][p]) a[j] ^= a[i];
      d[t] = p;
      swap(a[t++], a[i]);
    }
  }
  while (t--) b[d[t]] = a[t][n];
  for (int i = 0; i < n; i++) b[i] ? printf("1 ") : printf("2 ");
  return 0;
}
