#AT1121. 典型的楼梯

典型的楼梯

题目描述

一条楼梯有NN个台阶。高桥现在站在楼梯的底部,也就是第0个台阶上。

他每次可以一次爬一步或者两步。然而,第a1a_1个、a2a_2个、a3a_3个,…,ama_m个台阶的踏板都坏了,所以踩上这些台阶是危险的。

有多少种方式可以爬到最高的台阶,也就是第NN个台阶,同时不踏上坏的台阶?

结果对1 000 000 007取模。

输入

第一行两个整数N,MN,M

接下来一共MM行,表示第ii个坏了的台阶编号

输出

输出爬楼梯的方式数量,结果对1000000007取模。

6 1
3
4

样例解释

以下是爬楼梯的四种方式:

0→1→2→4→5→6

0→1→2→4→6

0→2→4→5→6

0→2→4→6

10 2
4
5
0
100 5
1
23
45
67
89
608200469

提示

1N105 1 \leq N \leq 10^5

0MN10 \leq M \leq N-1

1a1<a2<...<aMN11 \leq a_1 < a_2 <...<a_M \leq N-1