N,M=map(int, input().split())
A=set(int(input()) for _ in range(M))
D=[0]*(N+1)
D[0]=1

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

for i in range(1,N+1):
 if i in A: continue
 D[i]=(D[i-1]+D[i-2])%(10**9+7)
print(D[-1])