2099: Створення рядків II

Переглянути як PDF

Надіслати розвʼязок

Бали: 14,00 (частково)
Ліміт часу: 1.0s
Ліміт памʼяті: 500M
Ввід: stdin
Вивід: stdout

Тип задачі

Для заданого рядка необхідно обчислити кількість різних рядків, які можна створити за допомогою перестановки його символів.

Обмеження

  • ~1≤n≤10^6~

Формат вхідних даних

Єдиний вхідний рядок містить рядок довжиною ~n~. Кожен символ знаходиться між ~a~–~z~.

Формат вихідних даних

Вивести кількість різних рядків за модулем ~10^9+7~ .

Приклад вхідних даних

aabac

Приклад вихідних даних

20

Коментарі

Будь ласка, прочитайте правила перед коментуванням.


Наразі коментарів немає.