Фермер Джон знову придумав новий режим ранкової зарядки для своїх корів!
Як і раніше, корів фермера Джона вишикувані в лінію. -та корова зліва має мітку для кожного (1 \leq i \leq n). Він наказує їм повторювати наступний крок, доки корови не повернуться до початкового порядку.
Дано перестановку A довжини . Корови змінюють свій порядок так, що -та корова зліва до зміни стає A_i-ою зліва після зміни.
Наприклад, якщо A = (1, 2, 3, 4, 5), то корови здійснюють один крок. Якщо A = (2, 3, 1, 5, 4), то корови здійснять шість кроків. Порядок корів зліва направо після кожного кроку буде таким:
крок: (1, 2, 3, 4, 5)
крок: (3, 1, 2, 5, 4)
крок: (2, 3, 1, 4, 5)
крок: (1, 2, 3, 5, 4)
крок: (3, 1, 2, 4, 5)
крок: (2, 3, 1, 5, 4)
крок: (1, 2, 3, 4, 5)
Знайдіть суму всіх додатних цілих чисел , для яких існує перестановка довжини , що вимагає від корів зробити рівно кроків.
Оскільки це число може бути дуже великим, виведіть відповідь за модулем .
В одному рядку задані числа (1 \leq n \leq 10^4) і (10^8 \leq m \leq 10^9 + 7, просте).
Виведіть одне число.
Існують перестановки, які вимагають від корів здійснити , , , , і кроків. Відповідь дорівнює 1 + 2 + 3 + 4 + 5 + 6 = 21.
Приклад 1