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