#include <bits/stdc++.h>
using namespace std;
struct node {
  int a, o, id;
} s[300005];
bool vis[300005];
int cmp(node x, node y) { return x.a < y.a; }
int main() {
  int T, n;
  long long suma, sumo, s1, s2;
  scanf("%d", &T);
  while (T--) {
    memset(vis, false, sizeof(vis));
    suma = sumo = 0;
    scanf("%d", &n);
    int m = 2 * n - 1;
    for (int i = 1; i <= m; i++) {
      scanf("%d%d", &s[i].a, &s[i].o);
      suma += s[i].a;
      sumo += s[i].o;
      s[i].id = i;
    }
    sort(s + 1, s + m + 1, cmp);
    s1 = 0, s2 = 0;
    for (int i = 1; i < m; i += 2) {
      if (s[i].o > s[i + 1].o) {
        vis[s[i].id] = true;
        s1 += s[i].a;
        s2 += s[i].o;
      } else {
        vis[s[i + 1].id] = true;
        s1 += s[i + 1].a;
        s2 += s[i + 1].o;
      }
    }
    s1 += s[m].a;
    s2 += s[m].o;
    vis[s[m].id] = true;
    if (s1 * 2 >= suma && s2 * 2 >= sumo) {
      printf("YES\n");
      for (int i = 1; i <= m; i++) {
        if (vis[i]) printf("%d ", i);
      }
      printf("\n");
    } else
      printf("NO\n");
  }
  return 0;
}
