n,m,*a=map(int,open(0).read().split())
a=set(a)
mod=10**9+7

dp=[0]*(n+1)

dp[0]=1
dp[1]=0 if 1 in a else 1

for st in range(2,n+1):
    if st in a:
        continue
    
    dp[st]=dp[st-1]+dp[st-2]
    dp[st]%=mod

print(dp[n]) n,m,*a=map(int,open(0).read().split()) n map(int,open(0).read().split()) map int open(0).read().split() (0).read().split (0).read() (0).read (0) open 0 read split m *a a a=set(a) a set(a) set a mod=10**9+7 mod 10**9+7 10**9 10 9 7 dp=[0]*(n+1) dp [0]*(n+1) [0] 0 n+1 n 1 dp[0]=1 dp[0] dp 0 1 dp[1]=0 if 1 in a else 1 dp[1] dp 1 0 if 1 in a else 1 1 in a 1 a 0 1 for st in range(2,n+1):
    if st in a:
        continue
    
    dp[st]=dp[st-1]+dp[st-2]
    dp[st]%=mod st range(2,n+1) range 2 n+1 n 1 if st in a:
        continue
    
     st in a st a continue dp[st]=dp[st-1]+dp[st-2] dp[st] dp st dp[st-1]+dp[st-2] dp[st-1] dp st-1 st 1 dp[st-2] dp st-2 st 2 dp[st]%=mod dp[st] dp st mod print(dp[n]) print dp[n] dp n n,m,*a=map(int,open(0).read().split()) map(int,open(0).read().split()) n a=set(a) set(a) a dp=[0]*(n+1) [0]*(n+1) dp mod=10**9+7 10**9+7 mod m,*a=map(int,open(0).read().split()) map(int,open(0).read().split()) m
n,m,*a=map(int,open(0).read().split())
a=set(a)
mod=10**9+7

dp=[0]*(n+1)

dp[0]=1
dp[1]=0 if 1 in a else 1

for st in range(2,n+1):
    if st in a:
        continue
    
    dp[st]=dp[st-1]+dp[st-2]
    dp[st]%=mod

print(dp[n])