题目描述
在一座古老的神庙中,有一条长长的石阶通往藏有宝物的密室。石阶共有 N 级。一位探险者现在站在石阶的起点(第 0 级地面),他每一步可以向上跨 1 级或 2 级台阶。
然而,由于神庙年久失修,石阶中有 M 级已经塌陷,分别是第 a1,a2,…,aM 级台阶。踩上这些台阶会坠入深坑,绝对不能触碰。
请问,在不踩到任何塌陷台阶的前提下,从起点安全到达石阶最顶端(第 N 级)一共有多少种不同的走法?请输出方案数对 1,000,000,007 取模的结果。
输入格式
第一行包含整数 N 和 M。
接下来 M 行每行给出一个塌陷台阶的编号。
输出格式
输出一个整数,表示安全到达第 N 级的走法数量,对 1,000,000,007 取模。
样例
6 1
3
4
10 2
4
5
0
100 5
1
23
45
67
89
608200469
样例1解释
共有以下 4 种安全的走法:
- 0→1→2→4→5→6
- 0→1→2→4→6
- 0→2→4→5→6
- 0→2→4→6
样例2解释
也有可能出现无论如何都无法安全到达顶端的情况。
样例3解释
请注意,输出的答案需要对 1,000,000,007 取模。
数据范围
对于 20% 的数据,1≤N≤30。
对于 40% 的数据,1≤N≤60。
对于 100% 的数据,1≤N≤105,0≤M≤N−1,1≤a1,a2,…,aM≤N。