Дано множество , элементами которого являются различные целые числа от до .
Рассмотрим последовательность из целых чисел, каждое из которых выбрано из множества . Будем называть эту последовательность красивой, если для любого числа все элементы последовательности, равные , находятся на расстоянии не меньше x друг от друга. Иначе говоря, для любого числа и для любых двух индексов , таких, что , должно выполняться неравенство .
Требуется посчитать количество красивых последовательностей для заданного числа и множества , и вывести остаток от деления этого количества на число .
Входные данные
В первой строке ввода даны два целых числа и — длина последовательности и количество элементов множества A (, ).
Во второй строке ввода даны различных целых чисел в порядке возрастания — элементы множества (, ).
Выходные данные
Выведите одно целое число — остаток от деления количества красивых последовательностей на число .
Подзадачи
№ | баллы | необх. подзадачи | ограничения |
1 | 5 | - | |
2 | 10 | 1 | |
3 | 15 | 1, 2 | |
4 | 20 | 1, 2, 3 | для |
5 | 30 | 1, 2, 3 | |
6 | 20 | 1, 2, 3, 4, 5 | Нет доп. ограничений |
STDIN | STDOUT |
3 2 1 2 | 5 |
Примечание
В примере красивыми являются последовательности .
Последовательности красивыми не являются, так как в каждой из них существуют два элемента со значением , находящиеся на расстоянии друг от друга.