func_code_string: #include <bits/stdc++.h>   using namespace std;   long long int powr(long long int a, long long int b) {     long long int res = 1;     while (b) {       if (b % 2) res = (a * res) % 1000000007;       a = (a * a) % 1000000007;       b /= 2;     }     return res;   }   void extentded_eucledian(long long int a, long long int b, long long int &ex,                            long long int &ey) {     if (b == 0) {       ex = 1;       ey = 0;       return;     }     extentded_eucledian(b, a % b, ex, ey);     swap(ex, ey);     ey -= (a / b) * ex;   }   bool cmp(pair<pair<long long int, long long int>, long long int> &a,            pair<pair<long long int, long long int>, long long int> &b) {     if (a.first.first != b.first.first) return (a.first.first < b.first.first);     return (a.first.second < b.first.second);   }   int main() {     ios_base::sync_with_stdio(0);     cin.tie(0);     cout.tie(0);     long long int tc = 1;     cin >> tc;     while (tc--) {       long long int n;       cin >> n;       vector<pair<pair<long long int, long long int>, long long int>> vec;       vector<long long int> ans(n);       for (long long int i = 0; i < n; ++i) {         long long int x, y;         cin >> x >> y;         vec.push_back(make_pair(make_pair(x, y), i));       }       sort(vec.begin(), vec.end(), cmp);       long long int curr = 1, maxr = vec[0].first.second, wasn1 = 1, wasn2 = 1;       ans[vec[0].second] = 1;       stack<long long int> s;       for (long long int i = 1; i < n; ++i) {         if (maxr >= vec[i].first.first)           s.push(vec[i].second);         else {           while (!s.empty()) {             long long int tmp = s.top();             s.pop();             ans[tmp] = curr;           }           curr = 3 - curr;           s.push(vec[i].second);         }         maxr = max(maxr, vec[i].first.second);       }       while (!s.empty()) {         long long int tmp = s.top();         s.pop();         ans[tmp] = curr;       }       for (long long int i : ans)         if (i == 1) wasn1 = 0;       for (long long int i : ans)         if (i == 2) wasn2 = 0;       if (wasn1 || wasn2)         cout <<  -1 n ;       else {         for (auto lstelem : ans) cout << lstelem <<    ;         cout <<    n ;       }     }     return 0;   }   