Wallace is a well known gangster, a real G. Like every gangster he has a lot of cash that he likes to spend on jewels. For safety he does not keep his money in a single wallet, but spreads it across many. Wallace is about to head out on the town with his crew.
He wants to take roughly half of his wallets, yet he also wants to carry enough money. More precisely, Wallace has 2n−1 wallets, and each one holds some number of dollars and some number of euros. For the trip he wants to take exactly n wallets so that the total number of dollars in these n wallets is at least half of the total dollars across all 2n−1 wallets, and the total number of euros in the chosen n wallets is at least half of the total euros across all wallets.
Wallace knows how to make money; you know how to program. You know what to do.
The first line of the input contains a single integer t, the number of test sets. The description of each test set follows.
The first line of a test set contains a single integer n (1≤n≤500000), meaning that Wallace has 2n−1 wallets. Each of the next 2n−1 lines describes one wallet with two integers di and ei (0≤di,ei≤109): wallet i holds di dollars and ei euros.
You may assume that the sum of n over all test sets does not exceed 2500000.
Print the answer for each test set in order.
It can be shown that a valid choice of n wallets always exists. To make the answer unique, assume that Wallace picks his wallets with the following fixed procedure.
This selects exactly n wallets and always satisfies both conditions.
For each test set print two lines. On the first line print Yo. On the second line print the n chosen wallet numbers in increasing order, separated by single spaces.