现在是 2178 年,科学家在遥远的星球上发现了外星生命。这个星球上似乎只有一种物种,它们的繁殖方式与地球上的动物不同。更令人惊奇的是,每一个个体的基因组成都是完全相同的!
每个个体的基因组成都是一个单一的核苷酸序列。核苷酸有三种类型,分别记为 ‘A’(腺嘌呤)、‘C’(胞嘧啶)和 ‘M’(Muamine)。根据一种假说,该星球上的进化过程是:在现有生物的基因序列中插入一个新的核苷酸。如果这种变化具有进化优势,那么拥有新序列的生物会迅速取代拥有旧序列的生物。
最初人们认为,当前的物种是由一个非常简单的、仅含有一个核苷酸的基因序列,通过上述突变方式进化而来的。然而,化石证据表明情况可能并非如此。目前,你所在的科研团队正试图验证“平行进化”的概念——即实际上可能存在两条按照上述方式进化的进化路径,最终两条路径都进化成了今天星球上存在的单一物种。你的任务是验证平行进化假说是否与团队收集的化石样本中的遗传物质相符。
输入格式
输入的第一行包含一个整数 $n$ ($1 \le n \le 4\,000$),表示在化石中发现的核苷酸序列数量。第二行描述了当前生活在该星球上的物种的核苷酸序列。接下来的 $n$ 行,每行描述一个在化石中发现的核苷酸序列。
每个核苷酸序列由一个长度至少为 1 且不超过 $4\,000$ 的字符串组成。字符串仅包含大写字母 A、C 和 M。所有核苷酸序列(包括当前存活物种的序列)各不相同。
输出格式
展示一个示例,说明化石记录中的核苷酸序列如何参与两条进化路径。示例应以一行开始,包含两个整数 $s_1$ 和 $s_2$,分别表示参与第一条路径和第二条路径的化石记录中的核苷酸序列数量。随后应输出 $s_1$ 行,按时间顺序(从最早开始)列出归属于第一条路径的序列,接着输出 $s_2$ 行,按时间顺序列出归属于第二条路径的序列。如果存在多个示例,输出其中任意一个即可。如果一个序列可能出现在两个物种的遗传史上,你的示例应将其分配给其中恰好一条进化路径。
如果所有化石材料不可能来自两条进化路径,则输出单词 impossible。
样例
样例输入 1
5 AACCMMAA ACA MM ACMAA AA A
样例输出 1
1 4 MM A AA ACA ACMAA
样例输入 2
3 ACMA ACM ACA AMA
样例输出 2
impossible
样例输入 3
1 AM MA
样例输出 3
impossible
样例输入 4
4 AAAAAA AA AAA A AAAAA
样例输出 4
0 4 A AA AAA AAAAA