Ehab's Last Theorem

题意翻译

给出一幅 $n$ 个点,$m$ 条边的图。让你找出至少有 $\lceil \sqrt{n} \rceil$ 个点的环,**或正好有** $\lceil \sqrt{n} \rceil$ 个点的独立集。(两者请自己选一个做) 如找的是最大独立集,输出 $1$ 并输出最大独立集的顶点。 如找的是环,输出 $2$,输出环的顶点个数并输出环的所有顶点。

题目描述

It's the year 5555. You have a graph, and you want to find a long cycle and a huge independent set, just because you can. But for now, let's just stick with finding either. Given a connected graph with $ n $ vertices, you can choose to either: - find an independent set that has exactly $ \lceil\sqrt{n}\rceil $ vertices. - find a simple cycle of length at least $ \lceil\sqrt{n}\rceil $ . An independent set is a set of vertices such that no two of them are connected by an edge. A simple cycle is a cycle that doesn't contain any vertex twice. I have a proof you can always solve one of these problems, but it's too long to fit this margin.

输入输出格式

输入格式


The first line contains two integers $ n $ and $ m $ ( $ 5 \le n \le 10^5 $ , $ n-1 \le m \le 2 \cdot 10^5 $ ) — the number of vertices and edges in the graph. Each of the next $ m $ lines contains two space-separated integers $ u $ and $ v $ ( $ 1 \le u,v \le n $ ) that mean there's an edge between vertices $ u $ and $ v $ . It's guaranteed that the graph is connected and doesn't contain any self-loops or multiple edges.

输出格式


If you choose to solve the first problem, then on the first line print "1", followed by a line containing $ \lceil\sqrt{n}\rceil $ distinct integers not exceeding $ n $ , the vertices in the desired independent set. If you, however, choose to solve the second problem, then on the first line print "2", followed by a line containing one integer, $ c $ , representing the length of the found cycle, followed by a line containing $ c $ distinct integers integers not exceeding $ n $ , the vertices in the desired cycle, in the order they appear in the cycle.

输入输出样例

输入样例 #1

6 6
1 3
3 4
4 2
2 6
5 6
5 1

输出样例 #1

1
1 6 4

输入样例 #2

6 8
1 3
3 4
4 2
2 6
5 6
5 1
1 4
2 5

输出样例 #2

2
4
1 5 2 4

输入样例 #3

5 4
1 2
1 3
2 4
2 5

输出样例 #3

1
3 4 5

说明

In the first sample: ![](https://cdn.luogu.com.cn/upload/vjudge_pic/CF1325F/b2563676204e09f52f20c511c849060f592c7e8a.png) Notice that you can solve either problem, so printing the cycle $ 2-4-3-1-5-6 $ is also acceptable. In the second sample: ![](https://cdn.luogu.com.cn/upload/vjudge_pic/CF1325F/c06ff7a9bc5850c43035cd15934018ee7a539903.png) Notice that if there are multiple answers you can print any, so printing the cycle $ 2-5-6 $ , for example, is acceptable. In the third sample: ![](https://cdn.luogu.com.cn/upload/vjudge_pic/CF1325F/e5b84e0ab62337c524394523ccb0de61f016a191.png)