2099: Створення рядків II
Переглянути як PDF
Надіслати розвʼязок
Бали:
14,00 (частково)
Ліміт часу:
1.0s
Ліміт памʼяті:
500M
Ввід:
stdin
Вивід:
stdout
Тип задачі
Для заданого рядка необхідно обчислити кількість різних рядків, які можна створити за допомогою перестановки його символів.
Обмеження
- ~1≤n≤10^6~
Формат вхідних даних
Єдиний вхідний рядок містить рядок довжиною ~n~. Кожен символ знаходиться між ~a~–~z~.
Формат вихідних даних
Вивести кількість різних рядків за модулем ~10^9+7~ .
Приклад вхідних даних
aabac
Приклад вихідних даних
20
Коментарі