El antiguo pueblo de los Cíclicos utilizaba un peculiar sistema de escritura.
Cada palabra se escribía grabando sus letras en el borde de una de las
caras de un pequeño disco de piedra o arcilla. Los textos se guardaban
en forma de pila de discos. Para leer un texto se iban tomando los discos uno
a uno y cada palabra se leía haciendo girar el disco en sentido antihorario.
Fíjate en que, con este sistema, una palabra puede leerse de varias maneras
diferentes, pues en ningún lugar del disco se indicaba cuál era
la primera letra de la palabra. Así por ejemplo, cierta palabra de 5
letras podía leerse de cualquiera de las siguientes maneras:
babab
ababb
babba
abbab
bbaba
Al transcribir las palabras de la escritura cíclica a nuestra escritura
lineal los arqueólogos han establecido un sistema de equivalencia de
alfabetos (de modo que cada signo de los cíclicos puede representarse
por una letra de nuestro abecedario) y para evitar confusiones eligen siempre
(de entre todas las lecturas posibles de una palabra) la que sería la
primera utilizando nuestro orden alfabético. Así, la palabra del
ejemplo anterior, los arqueólogos la escribirán siempre como "ababb".
A esto se le llama "trascripción estándar".
Los Cíclicos creían que las palabras que se escribían
con las mismas letras mantenían entre ellas una relación especial
que permitía elaborar fórmulas mágicas y cánticos
sagrados.
Objetivo
Para ayudar a los arqueólogos en el estudio de la cultura cíclica,
escribe un programa que halle todas las distintas posibles palabras relacionadas
con una dada (es decir, aquellas que se escriben con exactamente las mismas
letras, en la misma cantidad).
Entrada
Los datos de entrada estarán en un archivo de texto (ASCII) con nombre
"CICLI.DAT". La primera línea de este archivo contendrá
el número n (0 <= n < 100) de palabras que hay que procesar. Las siguientes
n líneas contendrán, cada una, la trascripción estándar
de una palabra cíclica. Téngase en cuenta que ninguna palabra
cíclica tenía más de 16 letras.
Salida
El resultado se grabará en un archivo de texto (ASCII)
de nombre "CICLI.RES", con la siguiente estructura:
- Para cada una de las palabras cíclicas del archivo de
entrada (y en el mismo orden), se escribirá la trascripción estándar
de todas las posibles palabras distintas relacionadas con ella (incluida ella
misma).
- Las palabras relacionadas de cada grupo se escribirán en orden alfabético,
una por línea.
- Entre cada dos grupos de palabras se dejará una línea en blanco.
- No habrá ningún espacio en blanco en el archivo ni líneas
en blanco al final del mismo.
Ejemplo de entrada
4
arb
abab
abac
ames
Ejemplo de salida
abr
arb
aabb
abab
aabc
aacb
abac
aems
aesm
ames
amse
asem
asme
|