#P1354F. Summoning Minions

    ID: 1552 Type: RemoteJudge 6000ms 512MiB Tried: 0 Accepted: 0 Difficulty: (None) Uploaded By: Tags>constructive algorithmsdpflowsgraph matchingsgreedysortings*2500

Summoning Minions

No submission language available for this problem.

Description

Polycarp plays a computer game. In this game, the players summon armies of magical minions, which then fight each other.

Polycarp can summon nn different minions. The initial power level of the ii-th minion is aia_i, and when it is summoned, all previously summoned minions' power levels are increased by bib_i. The minions can be summoned in any order.

Unfortunately, Polycarp cannot have more than kk minions under his control. To get rid of unwanted minions after summoning them, he may destroy them. Each minion can be summoned (and destroyed) only once.

Polycarp's goal is to summon the strongest possible army. Formally, he wants to maximize the sum of power levels of all minions under his control (those which are summoned and not destroyed).

Help Polycarp to make up a plan of actions to summon the strongest possible army!

The first line contains one integer TT (1T751 \le T \le 75) — the number of test cases.

Each test case begins with a line containing two integers nn and kk (1kn751 \le k \le n \le 75) — the number of minions availible for summoning, and the maximum number of minions that can be controlled by Polycarp, respectively.

Then nn lines follow, the ii-th line contains 22 integers aia_i and bib_i (1ai1051 \le a_i \le 10^5, 0bi1050 \le b_i \le 10^5) — the parameters of the ii-th minion.

For each test case print the optimal sequence of actions as follows:

Firstly, print mm — the number of actions which Polycarp has to perform (0m2n0 \le m \le 2n). Then print mm integers o1o_1, o2o_2, ..., omo_m, where oio_i denotes the ii-th action as follows: if the ii-th action is to summon the minion xx, then oi=xo_i = x, and if the ii-th action is to destroy the minion xx, then oi=xo_i = -x. Each minion can be summoned at most once and cannot be destroyed before being summoned (and, obviously, cannot be destroyed more than once). The number of minions in Polycarp's army should be not greater than kk after every action.

If there are multiple optimal sequences, print any of them.

Input

The first line contains one integer TT (1T751 \le T \le 75) — the number of test cases.

Each test case begins with a line containing two integers nn and kk (1kn751 \le k \le n \le 75) — the number of minions availible for summoning, and the maximum number of minions that can be controlled by Polycarp, respectively.

Then nn lines follow, the ii-th line contains 22 integers aia_i and bib_i (1ai1051 \le a_i \le 10^5, 0bi1050 \le b_i \le 10^5) — the parameters of the ii-th minion.

Output

For each test case print the optimal sequence of actions as follows:

Firstly, print mm — the number of actions which Polycarp has to perform (0m2n0 \le m \le 2n). Then print mm integers o1o_1, o2o_2, ..., omo_m, where oio_i denotes the ii-th action as follows: if the ii-th action is to summon the minion xx, then oi=xo_i = x, and if the ii-th action is to destroy the minion xx, then oi=xo_i = -x. Each minion can be summoned at most once and cannot be destroyed before being summoned (and, obviously, cannot be destroyed more than once). The number of minions in Polycarp's army should be not greater than kk after every action.

If there are multiple optimal sequences, print any of them.

Samples

Sample Input 1

3
5 2
5 3
7 0
5 0
4 0
10 0
2 1
10 100
50 10
5 5
1 5
2 4
3 3
4 2
5 1

Sample Output 1

4
2 1 -1 5
1
2
5
5 4 3 2 1

Note

Consider the example test.

In the first test case, Polycarp can summon the minion 22 with power level 77, then summon the minion 11, which will increase the power level of the previous minion by 33, then destroy the minion 11, and finally, summon the minion 55. After this, Polycarp will have two minions with power levels of 1010.

In the second test case, Polycarp can control only one minion, so he should choose the strongest of them and summon it.

In the third test case, Polycarp is able to summon and control all five minions.