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 solve1():
    global A1
    global O1
    global a
    global o
    x = []
    y = []
    z = []
    na = []
    for i in range(2*N-1):
        a[i] -= A1
        o[i] -= O1
        if a[i] > 0 and o[i] > 0:
            continue
        if a[i] > 0:
            x.append((a[i],o[i],i+1))
        elif o[i] > 0:
            y.append((a[i],o[i],i+1))
        else:
            z.append((a[i],o[i],i+1))
    x = sorted(x)
    y = sorted(y,key=lambda x: x[1])
    z = sorted(z,key=lambda x: x[1])
    apple1 = [0]*(len(x)+1)
    orange1 = [0]*(len(x)+1)
    apple2 = [0]*(len(y)+1)
    orange2 = [0]*(len(y)+1)
    apple3 = [0]*(len(z)+1)
    orange3 = [0]*(len(z)+1)
    for i in range(1,len(x)+1):
        apple1[i] = apple1[i-1]+x[i-1][0]
        orange1[i] = orange1[i-1]+x[i-1][1]
    for i in range(1,len(y)+1):
        apple2[i] = apple2[i-1]+y[i-1][0]
        orange2[i] = orange2[i-1]+y[i-1][1]
    for i in range(1,len(y)+1):
        apple3[i] = apple3[i-1]+z[i-1][0]
        orange3[i] = orange3[i-1]+z[i-1][1]
    for i in range(len(x)+1):
        m = N-i-len(z)
        if 0 <= m <= len(y) and apple1[i]+apple2[m]+apple3[-1] <= 0 and orange1[i]+orange2[m]+orange3[-1] <= 0:
            for j in range(i):
                na.append(x[j][2])
            for j in range(m):
                na.append(y[j][2])
            na = set(na)
            print('YES')
            for i in range(1,2*N):
                if i not in na:
                    print(i,end=' ')
            print()
            return
    for i in range(len(x)+1):
        l, r = 0, N-i
        while l < r:
            m = (r-l)//2+l
            n = N-i-m
            if apple1[i]+apple2[m]+apple3[n] <= 0 and orange1[i]+orange2[m]+orange3[n] <= 0:
                for j in range(i):
                    na.append(x[j][2])
                for j in range(m):
                    na.append(y[j][2])
                for j in range(n):
                    na.append(z[j][2])
                na = set(na)
                print('YES')
                for j in range(1,2*N):
                    if j not in na:
                        print(j,end=' ')
                print()
                return
    z = sorted(z)
    for i in range(len(y)+1):
        l, r = 0, N-i
        while l < r:
            m = (r-l)//2+l
            n = N-i-m
            if apple2[i]+apple1[m]+apple3[n] <= 0 and orange2[i]+orange1[m]+orange3[n] <= 0:
                for j in range(m):
                    na.append(x[j][2])
                for j in range(i):
                    na.append(y[j][2])
                for j in range(n):
                    na.append(z[j][2])
                na = set(na)
                print('YES')
                for j in range(1,2*N):
                    if j not in na:
                        print(j,end=' ')
                print()
                return
    print('NO')
def solve2():
    global A2
    global O2
    global a
    global o
    x = []
    y = []
    z = []
    for i in range(2*N-1):
        a[i] -= A2
        o[i] -= O2
        if a[i] < 0 and o[i] < 0:
            continue
        if a[i] < 0:
            x.append((a[i],o[i],i+1))
        elif o[i] < 0:
            y.append((a[i],o[i],i+1))
        else:
            z.append((a[i],o[i],i+1))
    x = sorted(x,key=lambda x: -x[0])
    y = sorted(y,key=lambda x: -x[1])
    z = sorted(z,key=lambda x: -x[1])
    apple1 = [0]*(len(x)+1)
    orange1 = [0]*(len(x)+1)
    apple2 = [0]*(len(y)+1)
    orange2 = [0]*(len(y)+1)
    apple3 = [0]*(len(z)+1)
    orange3 = [0]*(len(z)+1)
    for i in range(1,len(x)+1):
        apple1[i] = apple1[i-1]+x[i-1][0]
        orange1[i] = orange1[i-1]+x[i-1][1]
    for i in range(1,len(y)+1):
        apple2[i] = apple2[i-1]+y[i-1][0]
        orange2[i] = orange2[i-1]+y[i-1][1]
    for i in range(1,len(y)+1):
        apple3[i] = apple3[i-1]+z[i-1][0]
        orange3[i] = orange3[i-1]+z[i-1][1]
    for i in range(len(x)+1):
        m = N-i-len(z)
        if 0 <= m <= len(y) and apple1[i]+apple2[m]+apple3[-1] >= 0 and orange1[i]+orange2[m]+orange3[-1] >= 0:
            print('YES')
            for j in range(i):
                print(x[j][2],end=' ')
            for j in range(m):
                print(y[j][2],end=' ')
            for _,_,j in z:
                print(j,end=' ')
            print()
            return
    for i in range(len(x)+1):
        l, r = 0, N-i
        while l < r:
            m = (r-l)//2+l
            n = N-i-m
            if apple1[i]+apple2[m]+apple3[n] >= 0 and orange1[i]+orange2[m]+orange3[n] >= 0:
                print('YES')
                for j in range(i):
                    print(x[j][2],end=' ')
                for j in range(m):
                    print(y[j][2],end=' ')
                for j in range(n):
                    print(z[j][2],end=' ')
                print()
                return
    z = sorted(z,key=lambda x: -x[0])
    for i in range(len(y)+1):
        l, r = 0, N-i
        while l < r:
            m = (r-l)//2+l
            n = N-i-m
            if apple2[i]+apple1[m]+apple3[n] >= 0 and orange2[i]+orange1[m]+orange3[n] >= 0:
                print('YES')
                for j in range(m):
                    print(x[j][2],end=' ')
                for j in range(i):
                    print(y[j][2],end=' ')
                for j in range(n):
                    print(z[j][2],end=' ')
                print()
                return
    print('NO')
for _ in range(int(input())):
    N = int(input())
    a = []
    o = []
    A1 = 0
    O1 = 0
    for _ in range(2*N-1):
        x,y = map(int,input().split())
        a.append(x)
        o.append(y)
        A1 += x
        O1 += y
    if N == 1:
        print('YES\n1')
        continue
    A2 = A1/(2*N)
    O2 = O1/(2*N)
    A1 /= 2*N-2
    O1 /= 2*N-2
    cnt = 2*N-1
    for i in range(2*N-1):
        if a[i]-A2 < 0 and o[i]-O2 < 0:
            cnt -= 1
    if cnt < N:
        solve1()
    else:
        solve2()