En aquest problema, direm que una paraula és top si té, com a màxim, dues lletres iguals consecutives. Per exemple, “abc” i “abba” són paraules top, però “aabb”, “aabaa” i “zzz” no ho són.
Donades n paraules, concateneu-les en tots els ordres possibles, de manera que el resultat sigui sempre una paraula top.
Entrada
L’entrada consisteix en diversos casos. Cada cas comença amb n, seguida d’n paraules només amb lletres minúscules. Suposeu 1 ≤ n ≤ 9, que les paraules donades no tenen lletres adjacents iguals, i que cap paraula és un prefix d’una altra paraula.
Sortida
Per a cada cas, escriviu en ordre alfabètic totes les paraules top que es poden formar. Si no n’hi ha cap, escriviu “NO”. Escriviu una línia amb 10 guions al final de cada cas.
Input
3 a z bc 2 ab ba 3 aba aca ada 4 aba bab acb bca
Output
abcz azbc bcaz bcza zabc zbca ---------- abba baab ---------- NO ---------- abababacbbca ababcababacb acbabababbca acbababcabab acbbabababca acbbcabababa babababcaacb babacbababca bcaabababacb bcaacbababab bcabababaacb bcababacbaba ----------