CF1325F Ehab's Last Theorem

Description

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.

Input Format

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.

Output Format

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.

Explanation/Hint

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)