编程题
### 问题描述
小蓝来到了一座高耸的楼梯前,楼梯共有 $N$ 级台阶,从第 $0$ 级台阶出发。小蓝每次可以迈上 $1$ 级或 $2$ 级台阶。但是,楼梯上的第 $a_1$ 级、第 $a_2$ 级、第 $a_3$ 级,以此类推,共 $M$ 级台阶的台阶面已经坏了,不能踩上去。
现在,小蓝想要到达楼梯的顶端,也就是第 $N$ 级台阶,但他不能踩到坏了的台阶上。请问他有多少种不踩坏了的台阶到达顶端的方案数?
由于方案数很大,请输出其对 $10^9+7$ 取模的结果。
### 输入格式
第一行包含两个正整数 $N$($1\leq N \leq 10^5$)和 $M$($0\leq M \leq N$),表示楼梯的总级数和坏了的台阶数。
接下来一行,包含 $M$ 个正整数 $a_1,a_2, \dots,a_M$($1\leq a1 < a2 < a3 < a_M \leq N$),表示坏掉的台阶的编号。
### 输出格式
输出一个整数,表示小蓝到达楼梯顶端的方案数,对 $10^9+7$ 取模。
### 样例输入
```
6 1
3
```
### 样例输出
```
4
```