#include <bits/stdc++.h>
using namespace std;
const int N = 200005;
int n;
multimap<int, int> mt;
vector<int> v[N];
int vis[N];
void dfs(int pos, int clr) {
  if (vis[pos] >= 0) return;
  vis[pos] = clr;
  for (auto &i : v[pos]) dfs(i, clr ^ 1);
}
int main() {
  ios::sync_with_stdio(false);
  cin.tie(0);
  cin >> n;
  int t1, t2;
  for (int i = 0; i < n; i++) {
    cin >> t1 >> t2;
    v[i << 1].push_back(i << 1 | 1);
    v[i << 1 | 1].push_back(i << 1);
    mt.insert({t1 << 1, i << 1});
    mt.insert({t2 << 1 | 1, i << 1 | 1});
  }
  auto it = mt.begin();
  for (int i = 0; i < n; i++) {
    int l = it++->second, r = it++->second;
    v[l].push_back(r);
    v[r].push_back(l);
  }
  memset(vis, -1, sizeof(vis));
  for (int i = 0; i < n; i++)
    if (vis[i << 1] == -1) dfs(i << 1, 0);
  for (int i = 0; i < n; i++) cout << vis[i << 1] << ' ';
  return 0;
}
