Problem description
Anagramem słowa nazywamy dowolne słowo,
które można uzyskać z pewnego przestawienia jego liter. Na przykład
anagramem słowa zadanko
jest odznaka
.
Napisz program, który: wczyta słowo, wyznaczy liczbę jego anagramów (niekoniecznie mających jakiś sens) i wypisze wynik na standardowe wyjście.
Wejście
W pierwszym (jedynym) wierszu wejścia znajduje się ciąg małych liter alfabetu angielskiego – słowo, dla którego należy wyznaczyć liczbę anagramów.
Wyjście
W pierwszym (jedynym) wierszu wyjścia powinna się znaleźć jedna liczba całkowita – reszta z dzielenia przez 109 + 7 liczby anagramów wczytanego słowa.
Ograniczenia
Długość słowa nie przekracza 1 000 000 znaków.
W testach wartych łącznie 30% maksymalnej punktacji liczba anagramów słowa na wejściu nie przekracza 1 000.
W testach wartych łącznie 80% maksymalnej punktacji długość słowa nie przekracza 100 000 znaków.
Przykład
Wejście | Wyjście | |
|
|