In 2*N* - 1 boxes there are apples and oranges. Your task is to choose *N* boxes so, that they will contain not less than half of all the apples and not less than half of all the oranges.
The first input line contains one number *T* — amount of tests. The description of each test starts with a natural number *N* — amount of boxes. Each of the following 2*N* - 1 lines contains numbers *a*<sub class="lower-index">*i*</sub> and *o*<sub class="lower-index">*i*</sub> — amount of apples and oranges in the *i*-th box (0 ≤ *a*<sub class="lower-index">*i*</sub>, *o*<sub class="lower-index">*i*</sub> ≤ 10<sup class="upper-index">9</sup>). The sum of *N* in all the tests in the input doesn't exceed 10<sup class="upper-index">5</sup>. All the input numbers are integer.
def II():
    return(int(input()))
def LMI():
    return(list(map(int,input().split())))
def I():
    return(input())
def MII():
    return(map(int,input().split()))
# import sys
# input=sys.stdin.readline
# import io,os
# input = io.BytesIO(os.read(0,os.fstat(0).st_size)).readline
# from collections import Counter
# int(math.log(len(L)))
# import math
# from collections import defaultdict
# mod=10**9+7
from collections import deque
# import  math
def half(a):
    if a%2==0:
        return a//2
    return a//2+1

for _ in range(II()):
    n=II()
    X=[]
    tot=0
    tot1=0
    tot2=0

    for i in range(2*n-1):
        a,o=MII()
        X.append((a,o,i+1))
        tot+=o
    print("YES")
    X.sort()
    for i in range(2*n-1):
        if i%2:
            tot1+=X[i][1]
        else:
            tot2+=X[i][1]

    if tot1>=half(tot):
        ans=[]
        for i in range(1,2*n-1,2):
            ans.append(X[i][2])
        ans.append(X[-1][2])
        print(*ans)
    else:
        ans=[]
        for i in range(0,2*n-1,2):
            ans.append(X[i][2])
        print(*ans)















    # return



# if __name__=="__main__":

    # for _ in range(II()):
    #     t()
    # t()
