给定一个由三个字母组成的单词列表,请生成一组可能的三颗六面骰子,使得每个单词都可以通过这三颗骰子的顶面排列组合而成。你必须将 18 个不同的字母分配到骰子的总共 18 个面上。可能存在多组满足要求的骰子;任何正确的组合均可被接受。
输入格式
输入的第一行包含一个整数 $n$ ($1 \le n \le 1\,000$),表示单词的数量。 接下来的 $n$ 行,每行包含一个由小写字母(a–z)组成的三个字母的单词。列表中可能存在重复的单词,且单词中可能包含相同的字母。
输出格式
输出一行。如果存在一组可以组成所有单词的骰子,请输出其中任意一组。将这组骰子输出为一行,包含三个由空格分隔的字符串,每个字符串由六个小写字母组成。如果无法形成这样的骰子组,则输出一行数字 0。
样例
样例输入 1
3 lad fin sly
样例输出 1
zounds plight fakery
样例输入 2
1 dad
样例输出 2
0
样例输入 3
11 aft cog far irk kit yes tau rag own uke via
样例输出 3
vortex whacky fusing