「PMOI-4」可怜的团主
题目描述
lnlhm 被塞给了一张 $n$ 个点 $m$ 条边的**简单无向连通**图。很快,他就被 ducati 和 b6e0 盯上了。
ducati 希望能够从中找到**恰好** $\left \lceil \frac n 6 \right \rceil$ 条**不同**的路径,使得所有的点都被至少一条路径经过。
b6e0 希望找到一个大小**恰好**为 $\lfloor \frac n 3 \rfloor$ 的节点集合,使得它们之间**两两没有边**。
lnlhm 知道,如果他没有满足某个人的要求,那么他就会被揍。因此,他向你求助:是否存在一种选择边或点的方案,使得**最多被一个人揍**?
输入输出格式
输入格式
第一行两个正整数 $n,m$,表示点数以及边数。
下面 $m$ 行,每行两个点 $u,v$,描述一条**无向边**。
输出格式
若想要满足 ducati 的需求,在第一行输出 $1$,并在下面的 $\left \lceil \frac {n} 6 \right \rceil$ 行中,每行输出一条路径,你需要保证这些路径两两不同(例如,不能同时输出 $5 \to 3 \to 1$ 和 $1 \to 3 \to 5$)。输出一条路径的格式如下:
- 先输出一个正整数 $k(1\le k\le n)$,表示路径经过的节点数。
- 接下来 $k$ 个正整数,表示路径上的点,点之间用空格隔开。你需要保证,每相邻两个点之间有连边,不存在一个点被**某条**路径经过不少于两次,且每个点均被至少一条路径经过。
若想要满足 b6e0 的需求,在第一行输出 $2$,并在第二行中输出 $\lfloor \frac n 3 \rfloor$ 个点表示选出的独立集,之间用空格隔开。
特别的,若两个人的要求一个也无法满足,那么输出一行 `Poor lnlhm!`。
输入输出样例
输入样例 #1
6 7
1 2
1 3
2 3
2 5
4 5
5 6
4 6
输出样例 #1
2
1 4
输入样例 #2
6 6
1 2
2 3
3 4
4 5
5 6
1 6
输出样例 #2
1
6 1 2 3 4 5 6
说明
【样例解释】
对于第一组样例,我们只需要为 b6e0 选出节点集合 $\{1,4\}$ 即可。注意,$\{1,5\}\{1,6\}\{2,4\}\{2,6\}\{3,4\}\{3,5\}\{3,6\}$ 同样合法。
对于第二组样例,我们只需要为 ducati 选出路径 $1 \to 2 \to 3 \to 4 \to 5 \to 6$ 即可。
【数据范围】
**本题采用捆绑测试**。
- Subtask 1(20pts):$n,m\le10$。
- Subtask 2(20pts):保证图为一棵树。
- Subtask 3(60pts):无特殊限制。
对于 $100\%$ 的数据满足,$3\le n\le10^3$,$3\le m\le\dfrac{n(n-1)}2$,保证给定的图为简单无向连通图。
**温馨提示: 输入量较大,请使用较快的读入方式。**