#include <bits/stdc++.h>
#define INF 0x3f3f3f3f
using namespace std;
const int N = 2e5+5;
struct node{
	int maxn,minn,pos;
}T[N];
int ans[N];
bool cmp(node x, node y)
{
	return x.maxn<y.maxn;
}
int p;
int main()
{
	int t; cin >> t;
	while(t--)
	{
		int n; cin >> n;
		memset(ans,-1,sizeof(ans));
		for(int i=1;i<=n;i++)
		{
			int h,w; cin >> h >> w;
			T[i].maxn=max(h,w);
			T[i].minn=min(h,w);
			T[i].pos=i;
		}
		sort(T+1,T+1+n,cmp);
		int Min=INF;
		for(int i=1,t=i+1; i<=n; i=t) {
			while(T[i].maxn==T[t].maxn&&t<=n) t++;
			for(int j=i; j<=t-1; j++)
			{
				if(T[j].minn>Min)
				{
					ans[T[j].pos]=p;
				}
				
			}
			for(int j=i; j<=t-1; j++)
			{
				if(T[j].minn<Min)
				{
					Min=T[j].minn;
					p=T[j].pos;
				}
			}
		}
		for(int i=1;i<=n;i++) cout << ans[i] << " ";
		cout << endl;
	}
	return 0;
 } 