N,M=map(int,input().split())
ans=[0 for i in range(N+1)]
true=[True for i in range(N+1)]
for i in range(M):
  a=int(input())
  true[a]=False
mod=10**9+7
ans[0]=1
ans[1]=1
for i in range(2,N+1):
  for j in range(i-2,i):
    if true[j]:
      ans[i]+=ans[j]%mod
print(ans[N]%mod) N,M=map(int,input().split()) N map(int,input().split()) map int input().split() ().split () input split M 0 for i in range(N+1) for i in range(N+1) i range(N+1) range N+1 N 1 for i in range(N+1) 0 ans=[0 for i in range(N+1)] ans [0 for i in range(N+1)] True for i in range(N+1) for i in range(N+1) i range(N+1) range N+1 N 1 for i in range(N+1) True true=[True for i in range(N+1)] true [True for i in range(N+1)] for i in range(M):
  a=int(input())
  true[a]=False i range(M) range M a=int(input()) a int(input()) int input() input true[a]=False true[a] true a False mod=10**9+7 mod 10**9+7 10**9 10 9 7 ans[0]=1 ans[0] ans 0 1 ans[1]=1 ans[1] ans 1 1 for i in range(2,N+1):
  for j in range(i-2,i):
    if true[j]:
      ans[i]+=ans[j]%mod i range(2,N+1) range 2 N+1 N 1 for j in range(i-2,i):
    if true[j]:
      ans[i]+=ans[j]%mod j range(i-2,i) range i-2 i 2 i if true[j]:
      ans[i]+=ans[j]%mod true[j] true j ans[i]+=ans[j]%mod ans[i] ans i ans[j]%mod ans[j] ans j mod print(ans[N]%mod) print ans[N]%mod ans[N] ans N mod mod=10**9+7 10**9+7 mod ans=[0 for i in range(N+1)] [0 for i in range(N+1)] ans M=map(int,input().split()) map(int,input().split()) M true=[True for i in range(N+1)] [True for i in range(N+1)] true N,M=map(int,input().split()) map(int,input().split()) N a=int(input()) int(input()) a
N,M=map(int,input().split())
ans=[0 for i in range(N+1)]
true=[True for i in range(N+1)]
for i in range(M):
  a=int(input())
  true[a]=False
mod=10**9+7
ans[0]=1
ans[1]=1
for i in range(2,N+1):
  for j in range(i-2,i):
    if true[j]:
      ans[i]+=ans[j]%mod
print(ans[N]%mod)