CF510E Fox And Dinner
题目描述
小狐狸 Ciel 参加了一个派对,加上他自己这个派对里总共有 $n$ 只狐狸,每只狐狸有一个年龄 $a_i$。
它们想要在几张圆桌旁吃晚饭,你需要帮忙分配座位,使得满足以下要求:
1. 每只狐狸都在其中
2. 每张桌子边至少有 $3$ 只狐狸
3. 任意两只相邻的狐狸的年龄之和为质数(圆桌上每只狐狸都有 $2$ 只相邻的狐狸)
输入格式
第一行一个正整数 $n(3 \le n \le 200)$,表示狐狸个数。
第二行 $n$ 个正整数 $a_i(2 \le a_i \le 10^4)$,表示每只狐狸的年龄。
输出格式
如果不可能有满足要求的分配方式,输出 `Impossible`。
否则,第一行输出一个正整数 $m$ 表示桌数。
然后输出 $m$ 行,每行先一个整数 $k$ 表示这桌的狐狸数,然后 $k$ 个正整数表示这桌的狐狸编号(按照顺序输出,但从哪个编号开始没有关系)。
如果有多组解,输出任意一组。
说明/提示
【样例解释】
样例一:只需要一桌,顺序为 $3-8-9-4$,相邻的和分别是 $11,17,13,7$,全都是质数。
样例二:不可能,$2+2=4$ 不是质数。