#include <bits/stdc++.h>
using namespace std;
static const int MAXN = 1e5 + 10;
inline int read() {
  int s = 0, w = 1;
  char ch = getchar();
  while (ch < '0' || ch > '9') {
    if (ch == '-') w = -1;
    ch = getchar();
  }
  while (ch >= '0' && ch <= '9') s = s * 10 + ch - '0', ch = getchar();
  return s * w;
}
struct Node {
  int a, o, num;
  bool operator<(const Node &b) const { return a < b.a; }
  void input() {
    a = read();
    o = read();
  }
} box[MAXN << 1];
int T, n;
int main() {
  scanf("%d", &T);
  while (T--) {
    scanf("%d", &n);
    long long sumo = 0;
    for (int i = 1; i <= 2 * n - 1; i++) {
      box[i].input();
      box[i].num = i;
      sumo = sumo + box[i].o;
    }
    sort(box + 1, box + 2 * n);
    long long sumo1 = 0;
    for (int i = 1; i <= 2 * n - 1; i += 2) sumo1 = sumo1 + box[i].o;
    puts("YES");
    if (sumo1 * 2 >= sumo) {
      for (int i = 1; i < 2 * n - 1; i += 2) printf("%d ", box[i].num);
    } else {
      for (int i = 2; i < 2 * n - 1; i += 2) printf("%d ", box[i].num);
    }
    printf("%d\n", box[2 * n - 1].num);
  }
  return 0;
}
