1341: Кількість різних підрядків

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

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

Бали: 16,00 (частково)
Ліміт часу: 2.0s
Python 4.0s
Ліміт памʼяті: 64M

Автор:
Тип задачі
Дозволені мови
Assembly, Awk, Brain****, C, C++, Java, mono C#, Pascal, Perl, Python, Sed, Text, vb

Вам задано рядок ~s = s_1s_2... s_n~, довжини ~n~. Знайдіть кількість його різних підрядків. Рядок генерується незвичним способом. А саме, вам задано просте число ~p~ ~(2 ≤ p ≤ 10^9)~, символ ~s_i~ дорівнює букві під номером ~(((p_i) mod (10^9+7)) mod 26)+1~ у англійському алфавіті. Вважайте, що регістр усіх букв рядка однаковий. Операція ~a mod b~ позначає взяття залишку при діленні числа ~a~ на число ~b~.

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

У першому рядку задано два цілих числа ~n~ та ~p~ ~(1 ≤ n ≤ 10^5, 2 ≤ p ≤ 10^9)~. Число p - просте.

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

Виведіть єдине ціле число — кількість різних підрядків рядка ~s~.

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

5 2

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

15

Коментарі

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


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