#include <bits/stdc++.h>
using namespace std;
struct node {
  int id;
  int l;
  int r;
  bool operator<(const node& a) const {
    if (l == a.l)
      return id < a.id;
    else
      return l < a.l;
  }
} aa[1005];
int main() {
  int T;
  scanf("%d", &T);
  while (T--) {
    int n, maxx = 0;
    int r[1005] = {0}, ans[1005] = {0};
    scanf("%d", &n);
    for (int i = 1; i <= n; i++) {
      scanf("%d%d", &aa[i].l, &aa[i].r);
      aa[i].id = i;
      maxx = max(maxx, aa[i].r);
    }
    sort(aa + 1, aa + n + 1);
    queue<int> q;
    for (int i = 1, j = 1; i <= maxx; i++) {
      while (j <= n && aa[j].l == i) q.push(aa[j++].id);
      while (!q.empty() && aa[q.front()].r < i) {
        ans[q.front()] = 0;
        q.pop();
      }
      if (!q.empty()) {
        ans[q.front()] = i;
        q.pop();
      }
    }
    for (int i = 1; i <= n; i++) {
      printf("%d%c", ans[i], i == n ? '\n' : ' ');
    }
  }
  return 0;
}
