题目描述
有一个 N 级的楼梯。高桥现在站在楼梯的底部,也就是第 0 级。他每次可以爬一级或者两级。
然而,第 a1、a2、a3、…、aM 级的踏板是坏的,所以踩上这些台阶是危险的。
要求计算到达顶层,也就是第 N 级,不踩坏台阶的方法总数,并对 1 000 000 007 取模。
约束条件
- 1≤N≤105
- 0≤M≤N−1
- 1≤a1<a2<…<aM≤N−1
输入
从标准输入读入数据,输入格式如下:
N M
a1
a2
…
…
aM
输出
打印在满足条件下爬楼梯的方法总数,结果对 1 000 000 007 取模。
示例输入1
6 1
3
示例输出1
4
有以下四种方法可以爬上楼梯:
- 0→1→2→4→5→6
- 0→1→2→4→6
- 0→2→4→5→6
- 0→2→4→6
示例输入2
10 2
4
5
示例输出2
0
可能没有办法在不踩坏台阶的情况下爬上楼梯。
示例输入3
100 5
1
23
45
67
89
示例输出3
608200469
请务必对 1 000 000 007 取模后输出结果。