Красивые последовательности

아직 제출이 없습니다시간 제한1초메모리 제한1024 MB

문제

Дано множество AA, элементами которого являются различные целые числа от 11 до 88.

Рассмотрим последовательность \[a_1,a_2,,a_n]\[a\_1, a\_2, \dots , a\_n] из nn целых чисел, каждое из которых выбрано из множества AA. Будем называть эту последовательность красивой, если для любого числа xx все элементы последовательности, равные xx, находятся на расстоянии не меньше xx друг от друга. Иначе говоря, для любого числа x и для любых двух индексов 1i<jn1 \le i < j \le n, таких, что a_i=a_j=xa\_i = a\_j = x, должно выполняться неравенство ji>xj - i > x.

Требуется посчитать количество красивых последовательностей для заданного числа nn и множества AA, и вывести остаток от деления этого количества на число 109+710^9 + 7.

입력

В первой строке ввода даны два целых числа nn и mm — длина последовательности и количество элементов множества AA (1n1001 \le n \le 100, 1m81 \le m \le 8).

Во второй строке ввода даны mm различных целых чисел a_ia\_i в порядке возрастания — элементы множества AA (1a_i81 \le a\_i \le 8, a_i<a_i+1a\_i < a\_{i+1}).

출력

Выведите одно целое число — остаток от деления количества красивых последовательностей на число 109+710^9 + 7.

힌트

В примере красивыми являются последовательности \[1,1,1]\[1, 1, 1], \[1,1,2]\[1, 1, 2], \[1,2,1]\[1, 2, 1], \[2,1,1]\[2, 1, 1], \[2,1,2]\[2, 1, 2].

Последовательности \[2,2,2]\[2, 2, 2], \[1,2,2]\[1, 2, 2], \[2,2,1]\[2, 2, 1] красивыми не являются, так как в каждой из них существуют два элемента со значением 22, находящиеся на расстоянии 11 друг от друга.