# coding: utf-8
def main():
    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])

main()