#include <stdio.h>
#include <stdlib.h>
#define N 1010
int n;
int t[N], s[N];
int num[N];
int cmp(const void *_p, const void *_q);
int main()
{
int iCase;
int i;
#ifndef ONLINE_JUDGE
freopen("e:\\uva_in.txt", "r", stdin);
#endif
scanf("%d", &iCase);
while (iCase--)
{
scanf("%d", &n);
for (i = 0; i < n; i++)
{
scanf("%d%d", &t[i], &s[i]);
num[i] = i;
}
qsort(num, n, sizeof(int), cmp);
for (i = 0; i < n; i++)
{
if (i)
printf(" ");
printf("%d", num[i] + 1);
}
printf("\n");
if (iCase)
printf("\n");
}
return 0;
}
int cmp(const void *_p, const void *_q)
{
int *p = (int *)_p;
int *q = (int *)_q;
int ans;
ans = s[*p] * t[*q] - s[*q] * t[*p];
if (ans > 0)
return -1;
else if (ans < 0)
return 1;
return *p - *q;
}
#include <stdio.h>
#include <stdlib.h>
#define N 1010
int n;
int t[N], s[N];
int num[N];
int cmp(const void *_p, const void *_q);
int main()
{
int iCase;
int i;
#ifndef ONLINE_JUDGE
freopen("e:\\uva_in.txt", "r", stdin);
#endif
scanf("%d", &iCase);
while (iCase--)
{
scanf("%d", &n);
for (i = 0; i < n; i++)
{
scanf("%d%d", &t[i], &s[i]);
num[i] = i;
}
qsort(num, n, sizeof(int), cmp);
for (i = 0; i < n; i++)
{
if (i)
printf(" ");
printf("%d", num[i] + 1);
}
printf("\n");
if (iCase)
printf("\n");
}
return 0;
}
int cmp(const void *_p, const void *_q)
{
int *p = (int *)_p;
int *q = (int *)_q;
int ans;
ans = s[*p] * t[*q] - s[*q] * t[*p];
if (ans > 0)
return -1;
else if (ans < 0)
return 1;
return *p - *q;
}