Cow evolution.


Submit solution

Points: 100 (partial)
Time limit: 1.0s
Memory limit: 256M

Author:
Problem type
Allowed languages
C, C++, Java, Pascal, Python, VB

Es el año 3019, y una cantidad sorprendente de evolución bovina ha acontencido en los últimos miles de años, resultando en vacas con toda clase de características interesantes. El registro evolutivo bovino puede ser descrito como un árbol, comenzando con una vaca ancestral en la raíz sin características especificas. En cada nivel descendente en el árbol, o todas las vacas evolucionan una nueva característica (tal como respirar fuego, abajo, donde todas las vacas con manchas terminaron respiando fuego), o hay un desvío diferente donde algunas de las vacas evolucionan con una nueva característica (por ejemplo, volar) y algunas no.

Las hojas en la parte baja del árbol indican todas las sub-poblaciones resultantes en el año 3019. Ninguna hoja (sub-población) contie características iguales a las de otras hojas. Por ejemplo, la sub-población #1 contiene vacas sin caracerísticas especiales, mientras que la sub-población #3 contiene vacas telepáticas voladoras. La sub-población #2 en contraste, tiene vacas voladoras que no son telepáticas. La sub-población #3 es única en su combinación de vacas voladoras y vacas telepáticas.

Un árbol evolutivo es "apropiado" si cada nueva característica evolutiva se origina en exactamente un arco del árbol (esto es, evolucionó siendo un solo punto en la historia). Por ejemplo, un árbol no sería apropiado si las manchas evolucionaron en dos ramas separadas. Dada una descripción de las sub-poblaciones de vacas en el año 3019, por favor determine si esas pueden ser descritas por un árbol evolutivo apropiado.

Entrada

La primera línea de la entrada conteine el número de sub-poblaciones N (2 \leq N \leq 25). Cada una de las siguientes N líneas describe una sub-población. La línea comienza con un entero K (0 \leq K \leq 25), luego K características de todas las vacas en esa sub-población. Las características son cadenas de hasta 20 caracteres en minúscula (a..z). No hay dos sub-poblaciones con exactamente las mismas características.

Salida

Por favor dé como salida "yes" si es posible formar un árbol evolutivo apropiado explicando el origen de esas sub-poblaciones, y "no" en otro caso.

Ejemplo de Entrada

4
2 spots firebreathing
0
1 flying
2 telepathic flying

Ejemplo de Salida

yes

Esta entrada ejemplo corresponde al árbol apropiado mostrado en el diagrama anterior.


Comments

There are no comments at the moment.