Jak wszyscy na wakacjach, krowy grają w krowią wersję gry słownej Boggle: Coggle. W podobnej grze rzuca się 25 kostkami z literami do macierzy takiej jak ta:
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
Słowa, a więc punkty, tworzy się, zaczynając od litery i przechodząc do jednego z jej najwyżej ośmiu sąsiadów, aż kolejne litery utworzą słowo ze słownika.
W macierzy powyżej dolne "$C$" pozwala utworzyć "CAP", "COW" i "COOK", ale nie "COD" ani "PACK". Pełna lista słów słownika dla tego kwadratu to "CAP", "COOK", "COW", "OWN", "WIT", "WOO", "ZOO" i "ZOOM".
Program powinien czytać słownik z dict.txt. Jest alfabetyczny i ma mniej niż 25,000 słów, każde długości najwyżej 20 znaków. Rzeczywisty słownik jest w załączniku dict.txt i dostępny w katalogu roboczym podczas oceniania.
Pomóż Bessie poznać wynik. Wczytaj pięć wierszy po pięć liter opisujących kostki i policz możliwe słowa słownika. Nie używaj litery tej samej kostki dwa razy w jednym słowie.
Policz możliwe słowa. Może ich być mniej niż sposobów tworzenia, ponieważ słowo może powstać na kilka sposobów.
Wejście
- Wiersze $1,\ldots,5$: wiersz $i$ zawiera pięć wielkich liter rozdzielonych spacjami, przedstawiających rząd $i$.
Wyjście
- Wiersz $1$: jedna liczba całkowita, liczba słów słownika możliwych do utworzenia według opisanych zasad.
Przykład
Wejście 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
Wyjście 1
8
Źródło zadania: Traditional, 2009