Надіслати розв'язок
Бали:
16,00 (partial)
Time limit:
2.0s
Python
4.0s
Memory limit:
64M
Author:
Problem type
Allowed languages
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
Коментарі