#P1439B. Graph Subset Problem

    ID: 5652 Type: RemoteJudge 1000ms 256MiB Tried: 0 Accepted: 0 Difficulty: (None) Uploaded By: Tags>constructive algorithmsdata structuresgraphs*2600

Graph Subset Problem

No submission language available for this problem.

Description

You are given an undirected graph with nn vertices and mm edges. Also, you are given an integer kk.

Find either a clique of size kk or a non-empty subset of vertices such that each vertex of this subset has at least kk neighbors in the subset. If there are no such cliques and subsets report about it.

A subset of vertices is called a clique of size kk if its size is kk and there exists an edge between every two vertices from the subset. A vertex is called a neighbor of the other vertex if there exists an edge between them.

The first line contains a single integer tt (1t1051 \leq t \leq 10^5) — the number of test cases. The next lines contain descriptions of test cases.

The first line of the description of each test case contains three integers nn, mm, kk (1n,m,k1051 \leq n, m, k \leq 10^5, knk \leq n).

Each of the next mm lines contains two integers u,vu, v (1u,vn,uv)(1 \leq u, v \leq n, u \neq v), denoting an edge between vertices uu and vv.

It is guaranteed that there are no self-loops or multiple edges. It is guaranteed that the sum of nn for all test cases and the sum of mm for all test cases does not exceed 21052 \cdot 10^5.

For each test case:

If you found a subset of vertices such that each vertex of this subset has at least kk neighbors in the subset in the first line output 11 and the size of the subset. On the second line output the vertices of the subset in any order.

If you found a clique of size kk then in the first line output 22 and in the second line output the vertices of the clique in any order.

If there are no required subsets and cliques print 1-1.

If there exists multiple possible answers you can print any of them.

Input

The first line contains a single integer tt (1t1051 \leq t \leq 10^5) — the number of test cases. The next lines contain descriptions of test cases.

The first line of the description of each test case contains three integers nn, mm, kk (1n,m,k1051 \leq n, m, k \leq 10^5, knk \leq n).

Each of the next mm lines contains two integers u,vu, v (1u,vn,uv)(1 \leq u, v \leq n, u \neq v), denoting an edge between vertices uu and vv.

It is guaranteed that there are no self-loops or multiple edges. It is guaranteed that the sum of nn for all test cases and the sum of mm for all test cases does not exceed 21052 \cdot 10^5.

Output

For each test case:

If you found a subset of vertices such that each vertex of this subset has at least kk neighbors in the subset in the first line output 11 and the size of the subset. On the second line output the vertices of the subset in any order.

If you found a clique of size kk then in the first line output 22 and in the second line output the vertices of the clique in any order.

If there are no required subsets and cliques print 1-1.

If there exists multiple possible answers you can print any of them.

Samples

Sample Input 1

3
5 9 4
1 2
1 3
1 4
1 5
2 3
2 4
2 5
3 4
3 5
10 15 3
1 2
2 3
3 4
4 5
5 1
1 7
2 8
3 9
4 10
5 6
7 10
10 8
8 6
6 9
9 7
4 5 4
1 2
2 3
3 4
4 1
1 3

Sample Output 1

2
4 1 2 3 
1 10
1 2 3 4 5 6 7 8 9 10 
-1

Note

In the first test case: the subset {1,2,3,4}\{1, 2, 3, 4\} is a clique of size 44.

In the second test case: degree of each vertex in the original graph is at least 33. So the set of all vertices is a correct answer.

In the third test case: there are no cliques of size 44 or required subsets, so the answer is 1-1.