N,M = map(int, input().split())
A = [int(input()) for _ in range(M)]

mod = 10**9 + 7

dp = [1] * (N+1)

for i in A:
    dp[i] = 0

for i in range(2, N+1):
        dp[i] *= (dp[i-1] + dp[i-2]) % mod

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

mod = 10**9 + 7

dp = [1] * (N+1)

for i in A:
    dp[i] = 0

for i in range(2, N+1):
        dp[i] *= (dp[i-1] + dp[i-2]) % mod

print(dp[-1])