Poesía Bovina.
Sin que el granjero John lo sepa, Bessie es toda una entusiasta de las artes. Recientemente, ha comenzado a estudiar a muchos de los grandes poetas y ahora quiere intentar escribir su propia poesía.
Bessie sabe palabras y quiere ordenarlas en poemas. Bessie ha determinado la longitud, en sílabas de cada una de sus palabras, y también las ha asignado en "clases de rima". Cada palabra rima sólo con otras palabras de la misma clase de rima.
Cada uno de los poemas de Bessie incluye versos , y cada verso debe constar de sílabas. Además, la poesía de Bessie debe ajustarse a un esquema de rima específico.
Bessie desea saber cuántos poemas diferentes puede escribir que satisfagan las restricciones dadas.
Entrada
La primera línea de entrada contiene y . Las siguientes líneas de entrada contienen cada una dos números y . Esto indica que Bessie conoce una palabra con longitud (en sílabas) en la clase de rima . Las últimas líneas de entrada describen el esquema de rima deseado por Bessie y cada una contiene una letra mayúscula . Todas las líneas correspondientes a valores iguales de deben terminar con palabras de la misma clase de rima. Las líneas con valores diferentes de no necesariamente terminan con palabras de diferentes clases de rima.
Salida
Imprima el número de poemas que Bessie puede escribir y que satisfacen estas restricciones. Como este número puede ser muy grande, por favor, calcúlelo módulo .
Ejemplo de Entrada
3 3 10
3 1
4 1
3 2
A
B
A
Ejemplo de Salida
960
En este ejemplo, Bessie conoce tres palabras. Las dos primeras palabras riman y tienen longitudes de tres y cuatro sílabas, y la última palabra tiene tres sílabas y no rima con las otras. Quiere escribir un poema de tres versos que contenga diez sílabas cada uno y que el primer y el último verso rimen. Hay poemas de este tipo. Un ejemplo de poema válido es el siguiente (donde y representan la primera, la segunda y la tercera palabra):
Comments