Come tutti in vacanza, le mucche giocano alla loro versione del gioco di parole Boggle: Coggle. In questo gioco simile, si lanciano 25 dadi con lettere formando una matrice come questa:
Z C C D X
K Q M N B
U O W Z Y
F C O I J
P A Q Z T
Si formano parole e si ottengono punti partendo da una lettera e passando a uno dei suoi fino a otto vicini, finché le lettere successive compongono una parola del dizionario.
Nella matrice sopra, la "$C$" in basso permette di formare "CAP", "COW" e "COOK", ma non "COD" o "PACK". L’elenco completo delle parole del dizionario per il quadrato è "CAP", "COOK", "COW", "OWN", "WIT", "WOO", "ZOO" e "ZOOM".
Il programma deve leggere il dizionario da dict.txt. È ordinato alfabeticamente e contiene meno di 25,000 parole, ciascuna di al massimo 20 caratteri. Il dizionario reale è fornito nell’allegato dict.txt ed è disponibile nella directory di lavoro durante la valutazione.
Aiutate Bessie a conoscere il risultato. Leggete cinque righe di cinque lettere che rappresentano i dadi e contate le parole del dizionario formabili. Non usate due volte la lettera dello stesso dado nella stessa parola.
Contate le parole formabili. Il numero può essere inferiore a quello dei modi di formarle, perché una parola può essere costruita in diversi modi.
Input
- Righe $1,\ldots,5$: la riga $i$ contiene cinque lettere maiuscole separate da spazi che rappresentano la fila $i$.
Output
- Riga $1$: un intero, il numero di parole del dizionario formabili secondo le regole descritte.
Esempi
Input 1
Z C C D X
K Q M N B
U O W Z Y
F C O I J
P A Q Z T
Output 1
8
Fonte del problema: Traditional, 2009