#429. 伏犬的觉醒之路

伏犬的觉醒之路

题目描述

为了使你成变强,伏犬 为你量身打造了觉醒之路。

这个路非常简单,他是一个 nn 阶的台阶,每阶的编号为 1,2,...,n1, 2, ..., n ,初始你就站在 11 号台阶上。每一步你有 kk 种不同的步长可以走。现在你需要求出,你有多少种不同的走法可以走到 nn 号台阶上。每种步长都没有使用次数的限制。

因为方案数可能很多,你需要输出答案对 109+710^9 + 7 取模。

输入格式

第一行两个正整数 nnkk ,表示台阶数和可选的步长种类数。

接下来一行 kk 个正整数,表示你可选的步长有哪些。保证所有的步长互不相同。

输出格式

输出一行一个非负整数表示答案。

样例

样例输入1

3 1
1

样例输出1

1

样例输入2

3 2
1 2

样例输出2

2

数据范围与提示

2n1052 \le n \le 10^5

1kmin(n1, 50)1 \le k \le min(n-1,\ 50)