#include <bits/stdc++.h>
using namespace std;
void fast_in_out() {
  std::ios_base::sync_with_stdio(NULL);
  cin.tie(NULL);
  cout.tie(NULL);
}
int dx[] = {0, 0, -1, 1, -1, 1, -1, 1, 0};
int dy[] = {-1, 1, 0, 0, -1, -1, 1, 1, 0};
int lx[] = {2, 2, -1, 1, -2, -2, -1, 1};
int ly[] = {-1, 1, 2, 2, 1, -1, -2, -2};
const long double eps = 1e-9;
const int N = 1e5 + 50, M = 1e5 + 10, mod = 1e9 + 7;
long long gcd(long long a, long long b) { return b ? gcd(b, a % b) : a; }
long long lcm(long long a, long long b) {
  long long t = gcd(a, b);
  return t ? (a / t * b) : 0;
}
struct node {
  int a, o, ind;
} ar[N];
bool operator<(node a, node b) {
  if (a.a != b.a) return a.a < b.a;
  return a.o < b.o;
}
int main() {
  fast_in_out();
  int t;
  cin >> t;
  while (t--) {
    int n;
    cin >> n;
    vector<node> v(n + n - 1);
    long long o = 0;
    for (int i = 0; i < n + n - 1; i++) {
      cin >> v[i].a >> v[i].o;
      o += v[i].o;
      v[i].ind = i + 1;
    }
    sort(v.begin(), v.end());
    long long sum = 0, ind;
    for (int i = 0; i < n + n - 1; i += 2) sum += v[i].o;
    cout << "YES\n";
    if (sum + sum >= o)
      ind = 0;
    else
      ind = 1, cout << v[n + n - 2].ind << " ";
    for (int i = ind; i < n + n - 1; i += 2) cout << v[i].ind << " ";
    cout << '\n';
  }
  return 0;
}
