# coding: utf-8
N, M = map(int, input().split())
a = []
for i in range(M):
    a.append(int(input()))

#print("a", a)

dp = ([0] * N)
dp.append(1)
dp.append(0)
mod = 1000000007

for s in reversed(range(N)):
    if s in a: # xだったら
        if s+1 in a:
            dp[s] = 0 # 2回連続で穴があったら0返して終了
            break
        else:
            dp[s] = 0 # 無を代入
    else: # oだったら
        dp[s] = (dp[s+1] + dp[s+2]) % mod # DP!! DP!!
        
print(dp[0])
