N, M = map(int,input().split())
oks = [True]*(N+1)
mod = 1e9+7
for i in range(M):
    a = int(input())
    oks[a]=False
dp = [0]*(N+1)
dp[0]=1
if oks[1]:
    dp[1]=1
else:
    dp[1]=0
for i in range(2,N+1):
    if oks[i]:
        dp[i]=dp[i-1]+dp[i-2]
        dp[i]%=mod
print(int(dp[N])) N, M = map(int,input().split()) N map(int,input().split()) map int input().split() ().split () input split M oks = [True]*(N+1) oks [True]*(N+1) [True] True N+1 N 1 mod = 1e9+7 mod 1e9+7 1e9 7 for i in range(M):
    a = int(input())
    oks[a]=False i range(M) range M a = int(input()) a int(input()) int input() input oks[a]=False oks[a] oks a False dp = [0]*(N+1) dp [0]*(N+1) [0] 0 N+1 N 1 dp[0]=1 dp[0] dp 0 1 if oks[1]:
    dp[1]=1
else:
    dp[1]=0 oks[1] oks 1 dp[1]=1 dp[1] dp 1 1 dp[1]=0 dp[1] dp 1 0 for i in range(2,N+1):
    if oks[i]:
        dp[i]=dp[i-1]+dp[i-2]
        dp[i]%=mod i range(2,N+1) range 2 N+1 N 1 if oks[i]:
        dp[i]=dp[i-1]+dp[i-2]
        dp[i]%=mod oks[i] oks i dp[i]=dp[i-1]+dp[i-2] dp[i] dp i dp[i-1]+dp[i-2] dp[i-1] dp i-1 i 1 dp[i-2] dp i-2 i 2 dp[i]%=mod dp[i] dp i mod print(int(dp[N])) print int(dp[N]) int dp[N] dp N mod = 1e9+7 1e9+7 mod a = int(input()) int(input()) a M = map(int,input().split()) map(int,input().split()) M N, M = map(int,input().split()) map(int,input().split()) N dp = [0]*(N+1) [0]*(N+1) dp oks = [True]*(N+1) [True]*(N+1) oks
N, M = map(int,input().split())
oks = [True]*(N+1)
mod = 1e9+7
for i in range(M):
    a = int(input())
    oks[a]=False
dp = [0]*(N+1)
dp[0]=1
if oks[1]:
    dp[1]=1
else:
    dp[1]=0
for i in range(2,N+1):
    if oks[i]:
        dp[i]=dp[i-1]+dp[i-2]
        dp[i]%=mod
print(int(dp[N]))