#include<bits/stdc++.h>
#include<vector>
using namespace std;
#define ull long long ;
struct node {
ull r;
ull id;
bool operator<(const node& h) const {
return id < h.id;
}
};
vector<node>v[5010];
int ans[5010];
void solve() {
for (int i = 0; i <= 5000; i++)v[i].clear();
ull n;
cin >> n;
for (int i = 1; i <= n; i++) {
int l, r;
cin >> l >> r;
v[l].push_back({ r,i });
}
for (int i = 0; i <= 5000; i++) {
sort(v[i].begin(), v[i].end());
}
deque<node>q;
for (int i = 1; i <= 5000; i++) {
for (int j = 0; j < v[i].size(); j++) {
q.push_back(v[i][j]);
}
while (q.size() && q.front().r < i) {
ans[q.front().id] = 0;
q.pop_front();
}
if (q.size()) {
ans[q.front().id] = i;
q.pop_front();
}
}
for (int i = 1; i <= n; i++) {
cout << ans[i];
}cout << endl;
}
signed main() {
ull t;
cin >> t;
while (t--) {
solve();
}
}