- Описание
- Отправленные решения
7. Обыкновенная задача про строки
Назовем две строки и эквивалентными, если для любой строки длины 2, количество вхождений в совпадает с количеством вхождением в . Таким образом, строки «aaaba», «abaaa» и «baaab» попарно эквивалентны между собой (строка «aa» входит два раза, строка «ab» один раз, строка «ba» один раз, строка «bb» не входит как подстрока), строки «abb» и «bba» — нет.
В этой задаче вам будут даны строк, состоящих из символов «a», «b» и «c», для каждой из которых надо будет посчитать количество эквивалентных им непустых строк, также состоящих из символов «a», «b» и «c». Так как это количество может быть очень большим, то надо вывести его остаток при делении на .
Формат ввода
В первой строке входных данных дано число номер подзадачи, к которой относится текущий тест. Для теста из примера .
На второй строке дано число (), затем следуют строк, состоящих из символов «a», «b» и «c». Суммарная длина строк не превышает .
Формат вывода
Требуется вывести целых чисел для каждой строки необходимо вывести количество эквивалентных ей по модулю .
Система оценки
Баллы за каждую подзадачу начисляются только в случае, если все тесты для этой подзадачи и необходимых подзадач успешно пройдены. За обозначена длина -й строки во входных данных, за обозначена сумма длин строк, за максимальный ответ (не взятый по модулю) среди всех запросов.
Примечание
Пояснение к примеру:
- Строке «abaa» эквивалентны строки «abaa», «aaba», «baab»;
- Строке «abca» эквивалентны строки «abca», «bcab», «cabc»;
- Строке «ccbca» эквивалентны строки «ccbca» и «cbcca»;
- Строке «bacc» эквивалентна только строка «bacc».
Ограничения
Ограничение времени
2 с
Ограничение памяти
512 МБ
Пример 1
0
4
abaa
abca
ccbca
bacc
3
3
2
1