#P1439B. Graph Subset Problem
Graph Subset Problem
No submission language available for this problem.
Description
You are given an undirected graph with vertices and edges. Also, you are given an integer .
Find either a clique of size or a non-empty subset of vertices such that each vertex of this subset has at least 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 if its size is 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 () — 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 , , (, ).
Each of the next lines contains two integers , denoting an edge between vertices and .
It is guaranteed that there are no self-loops or multiple edges. It is guaranteed that the sum of for all test cases and the sum of for all test cases does not exceed .
For each test case:
If you found a subset of vertices such that each vertex of this subset has at least neighbors in the subset in the first line output 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 then in the first line output and in the second line output the vertices of the clique in any order.
If there are no required subsets and cliques print .
If there exists multiple possible answers you can print any of them.
Input
The first line contains a single integer () — 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 , , (, ).
Each of the next lines contains two integers , denoting an edge between vertices and .
It is guaranteed that there are no self-loops or multiple edges. It is guaranteed that the sum of for all test cases and the sum of for all test cases does not exceed .
Output
For each test case:
If you found a subset of vertices such that each vertex of this subset has at least neighbors in the subset in the first line output 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 then in the first line output and in the second line output the vertices of the clique in any order.
If there are no required subsets and cliques print .
If there exists multiple possible answers you can print any of them.
Samples
Note
In the first test case: the subset is a clique of size .
In the second test case: degree of each vertex in the original graph is at least . So the set of all vertices is a correct answer.
In the third test case: there are no cliques of size or required subsets, so the answer is .