Pongamos que, después de muchos años de esfuerzo, has conseguido aprender unos pocos kanas japoneses (símbolos que representan sílabas). De aquí a aprender japonés todavía hay un largo camino, pero: ¿qué palabras podrías escribir usando únicamente los kanas que conoces?
Cada entrada consiste en una línea con los números y , donde es el número de kanas (sílabas) que conoces y es el máximo número de sílabas de las palabras que queremos generar. A continuación, líneas con las sílabas, todas ellas distintas y formadas por 2 letras minúsculas.
Escribe, en orden alfabético, todas las palabras de como mucho sílabas que podrían formarse usando únicamente los kanas conocidos.
k-small:
Resolver varias entradas con sílabas y palabras con no más de sílabas de longitud.
t-small:
Resolver varias entradas con sílabas y palabras con no más de sílabas de longitud.
medium:
Resolver varias entradas con donde se garantiza que la salida no contendrás más de 1000 palabras.
hard:
Resolver varias entradas con donde se garantiza que la salida no contendrás más de 100000 palabras.
Input
2 3 ka mo
Output
ka kaka kakaka kakamo kamo kamoka kamomo mo moka mokaka mokamo momo momoka momomo
Input
5 2 ti la ne ko tu
Output
ko koko kola kone koti kotu la lako lala lane lati latu ne neko nela nene neti netu ti tiko tila tine titi titu tu tuko tula tune tuti tutu