n,m=map(int,input().split())
a=set([int(input()) for j in range(m)])
dp=[0]*(n+1)
dp[0]=1
if not 1 in a:
    dp[1]=1
else:
    dp[1]=0
for i in range(n-1):
    if i+2 in a:
        dp[i+2]=0
    else:
        dp[i+2]=(dp[i+1]+dp[i])%(10**9+7)
print(dp[n]) n,m=map(int,input().split()) n map(int,input().split()) map int input().split() ().split () input split m int(input()) for j in range(m) for j in range(m) j range(m) range m for j in range(m) int(input()) int input() input a=set([int(input()) for j in range(m)]) a set([int(input()) for j in range(m)]) set [int(input()) for j in range(m)] dp=[0]*(n+1) dp [0]*(n+1) [0] 0 n+1 n 1 dp[0]=1 dp[0] dp 0 1 if not 1 in a:
    dp[1]=1
else:
    dp[1]=0 not 1 in a 1 in a 1 a dp[1]=1 dp[1] dp 1 1 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+1]+dp[i])%(10**9+7) i range(n-1) range n-1 n 1 if i+2 in a:
        dp[i+2]=0
    else:
        dp[i+2]=(dp[i+1]+dp[i])%(10**9+7) 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+1]+dp[i])%(10**9+7) dp[i+2] dp i+2 i 2 (dp[i+1]+dp[i])%(10**9+7) dp[i+1]+dp[i] dp[i+1] dp i+1 i 1 dp[i] dp i 10**9+7 10**9 10 9 7 print(dp[n]) print dp[n] dp n n,m=map(int,input().split()) map(int,input().split()) n m=map(int,input().split()) map(int,input().split()) m a=set([int(input()) for j in range(m)]) set([int(input()) for j in range(m)]) a dp=[0]*(n+1) [0]*(n+1) dp
n,m=map(int,input().split())
a=set([int(input()) for j in range(m)])
dp=[0]*(n+1)
dp[0]=1
if not 1 in a:
    dp[1]=1
else:
    dp[1]=0
for i in range(n-1):
    if i+2 in a:
        dp[i+2]=0
    else:
        dp[i+2]=(dp[i+1]+dp[i])%(10**9+7)
print(dp[n])