#include <bits/stdc++.h>
using namespace std;
int n;
vector<pair<pair<int, int>, int> > segs;
inline bool read() {
  if (!(cin >> n)) return false;
  segs.resize(n);
  for (int i = 0; i < n; i++) {
    cin >> segs[i].first.first >> segs[i].first.second;
    segs[i].second = i;
  }
  return true;
}
bool cmp(const pair<pair<int, int>, int> &a,
         const pair<pair<int, int>, int> &b) {
  if (a.first.second != b.first.second) return a.first.second < b.first.second;
  if (a.first.first != b.first.first) return a.first.first < b.first.first;
  return a.second < b.second;
}
inline void solve() {
  sort(segs.begin(), segs.end(), cmp);
  int mn = segs[n - 1].first.first;
  for (int i = n - 2; i >= 0; i--) {
    if (segs[i].first.second < mn) {
      vector<int> ts(n, 2);
      for (int id = 0; id <= i; id++) ts[segs[id].second] = 1;
      for (int t : ts) cout << t << ' ';
      cerr << "haha";
      cout << '\n';
      return;
    }
    mn = min(mn, segs[i].first.first);
  }
  cout << -1 << '\n';
}
int main() {
  ios_base::sync_with_stdio(0);
  cin.tie(0), cout.tie(0);
  cout << fixed << setprecision(15);
  int tc;
  cin >> tc;
  while (tc--) {
    assert(read());
    solve();
  }
  return 0;
}
