n,m=map(int, input().split())
alist=[0]*(n+10)
for i in range(m):
  alist[int(input())]=-1
ans=True
alist[0]=1
for i in range(n):
  if alist[i]!=-1:
    if alist[i+1]!=-1 and alist[i+2]!=-1:
      alist[i+1]+=alist[i]
      alist[i+2]+=alist[i]
    elif alist[i+2]!=-1:
      alist[i+2]+=alist[i]
    elif alist[i+1]!=-1:
      alist[i+1]+=alist[i]
    else:
      ans=False
if ans:
  print(alist[n]%(10**9+7))
else:
  print(0) n,m=map(int, input().split()) n map(int, input().split()) map int input().split() ().split () input split m alist=[0]*(n+10) alist [0]*(n+10) [0] 0 n+10 n 10 for i in range(m):
  alist[int(input())]=-1 i range(m) range m alist[int(input())]=-1 alist[int(input())] alist int(input()) int input() input -1 ans=True ans True alist[0]=1 alist[0] alist 0 1 for i in range(n):
  if alist[i]!=-1:
    if alist[i+1]!=-1 and alist[i+2]!=-1:
      alist[i+1]+=alist[i]
      alist[i+2]+=alist[i]
    elif alist[i+2]!=-1:
      alist[i+2]+=alist[i]
    elif alist[i+1]!=-1:
      alist[i+1]+=alist[i]
    else:
      ans=False i range(n) range n if alist[i]!=-1:
    if alist[i+1]!=-1 and alist[i+2]!=-1:
      alist[i+1]+=alist[i]
      alist[i+2]+=alist[i]
    elif alist[i+2]!=-1:
      alist[i+2]+=alist[i]
    elif alist[i+1]!=-1:
      alist[i+1]+=alist[i]
    else:
      ans=False alist[i]!=-1 alist[i] alist i -1 if alist[i+1]!=-1 and alist[i+2]!=-1:
      alist[i+1]+=alist[i]
      alist[i+2]+=alist[i]
    elif alist[i+2]!=-1:
      alist[i+2]+=alist[i]
    elif alist[i+1]!=-1:
      alist[i+1]+=alist[i]
    else:
      ans=False alist[i+1]!=-1 and alist[i+2]!=-1 alist[i+1]!=-1 alist[i+1] alist i+1 i 1 -1 alist[i+2]!=-1 alist[i+2] alist i+2 i 2 -1 alist[i+1]+=alist[i] alist[i+1] alist i+1 i 1 alist[i] alist i alist[i+2]+=alist[i] alist[i+2] alist i+2 i 2 alist[i] alist i elif alist[i+2]!=-1:
      alist[i+2]+=alist[i]
     alist[i+2]!=-1 alist[i+2] alist i+2 i 2 -1 alist[i+2]+=alist[i] alist[i+2] alist i+2 i 2 alist[i] alist i elif alist[i+1]!=-1:
      alist[i+1]+=alist[i]
     alist[i+1]!=-1 alist[i+1] alist i+1 i 1 -1 alist[i+1]+=alist[i] alist[i+1] alist i+1 i 1 alist[i] alist i ans=False ans False if ans:
  print(alist[n]%(10**9+7))
else:
  print(0) ans print(alist[n]%(10**9+7)) print alist[n]%(10**9+7) alist[n] alist n 10**9+7 10**9 10 9 7 print(0) print 0 alist=[0]*(n+10) [0]*(n+10) alist n,m=map(int, input().split()) map(int, input().split()) n ans=True True ans m=map(int, input().split()) map(int, input().split()) m ans=False False ans
n,m=map(int, input().split())
alist=[0]*(n+10)
for i in range(m):
  alist[int(input())]=-1
ans=True
alist[0]=1
for i in range(n):
  if alist[i]!=-1:
    if alist[i+1]!=-1 and alist[i+2]!=-1:
      alist[i+1]+=alist[i]
      alist[i+2]+=alist[i]
    elif alist[i+2]!=-1:
      alist[i+2]+=alist[i]
    elif alist[i+1]!=-1:
      alist[i+1]+=alist[i]
    else:
      ans=False
if ans:
  print(alist[n]%(10**9+7))
else:
  print(0)