MOD = 10**9 + 7

N, M = map(int,input().split())
A = set()
for _ in range(M):
    A.add(int(input()))

dp = [1] * (N+1)

if 1 in A:
    dp[1] = 0

for i in range(N-1):
    if i+2 in A:
        dp[i+2] = 0
    else:
        dp[i+2] = (dp[i] + dp[i+1]) % MOD
    
print(dp[N]) MOD = 10**9 + 7 MOD 10**9 + 7 10**9 10 9 7 N, M = map(int,input().split()) N map(int,input().split()) map int input().split() ().split () input split M A = set() A set() set for _ in range(M):
    A.add(int(input())) _ range(M) range M A.add(int(input())) A.add A add int(input()) int input() input dp = [1] * (N+1) dp [1] * (N+1) [1] 1 N+1 N 1 if 1 in A:
    dp[1] = 0 1 in A 1 A dp[1] = 0 dp[1] dp 1 0 for i in range(N-1):
    if i+2 in A:
        dp[i+2] = 0
    else:
        dp[i+2] = (dp[i] + dp[i+1]) % MOD
     i range(N-1) range N-1 N 1 if i+2 in A:
        dp[i+2] = 0
    else:
        dp[i+2] = (dp[i] + dp[i+1]) % MOD
     i+2 in A i+2 i 2 A dp[i+2] = 0 dp[i+2] dp i+2 i 2 0 dp[i+2] = (dp[i] + dp[i+1]) % MOD dp[i+2] dp i+2 i 2 (dp[i] + dp[i+1]) % MOD dp[i] + dp[i+1] dp[i] dp i dp[i+1] dp i+1 i 1 MOD print(dp[N]) print dp[N] dp N N, M = map(int,input().split()) map(int,input().split()) N MOD = 10**9 + 7 10**9 + 7 MOD A = set() set() A dp = [1] * (N+1) [1] * (N+1) dp M = map(int,input().split()) map(int,input().split()) M
MOD = 10**9 + 7

N, M = map(int,input().split())
A = set()
for _ in range(M):
    A.add(int(input()))

dp = [1] * (N+1)

if 1 in A:
    dp[1] = 0

for i in range(N-1):
    if i+2 in A:
        dp[i+2] = 0
    else:
        dp[i+2] = (dp[i] + dp[i+1]) % MOD
    
print(dp[N])