N,M=map(int, input().split())
A=[int(input()) for _ in range(M)]

A=set(A)
D=[0]*(N+1)
D[0]=1

direction=[1,2]

for i in range(1,N+1):
 if i in A: continue
 # print([abs(H[i]-H[i-a])+D[i-a] for a in [1,2]])
 cnt=0
 for d in direction:
    prv=i-d
    if 0<=prv and not(prv in A): 
        cnt=cnt+D[prv]
        #print(i, prv,D[prv])

 D[i]=cnt
print(D[-1] % 1000000007) 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)] A=set(A) A set(A) set A D=[0]*(N+1) D [0]*(N+1) [0] 0 N+1 N 1 D[0]=1 D[0] D 0 1 direction=[1,2] direction [1,2] 1 2 for i in range(1,N+1):
 if i in A: continue
 # print([abs(H[i]-H[i-a])+D[i-a] for a in [1,2]])
 cnt=0
 for d in direction:
    prv=i-d
    if 0<=prv and not(prv in A): 
        cnt=cnt+D[prv]
        #print(i, prv,D[prv])

 D[i]=cnt i range(1,N+1) range 1 N+1 N 1 if i in A: continue
 # print([abs(H[i]-H[i-a])+D[i-a] for a in [1,2]])
  i in A i A cnt=0 cnt 0 for d in direction:
    prv=i-d
    if 0<=prv and not(prv in A): 
        cnt=cnt+D[prv]
        #print(i, prv,D[prv])

  d direction prv=i-d prv i-d i d if 0<=prv and not(prv in A): 
        cnt=cnt+D[prv]
        #print(i, prv,D[prv])

  0<=prv and not(prv in A) 0<=prv 0 prv not(prv in A) prv in A prv A cnt=cnt+D[prv] cnt cnt+D[prv] cnt D[prv] D prv D[i]=cnt D[i] D i cnt print(D[-1] % 1000000007) print D[-1] % 1000000007 D[-1] D -1 1000000007 cnt=0 0 cnt A=set(A) set(A) A cnt=cnt+D[prv] cnt+D[prv] cnt M=map(int, input().split()) map(int, input().split()) M A=[int(input()) for _ in range(M)] [int(input()) for _ in range(M)] A D=[0]*(N+1) [0]*(N+1) D direction=[1,2] [1,2] direction N,M=map(int, input().split()) map(int, input().split()) N prv=i-d i-d prv
N,M=map(int, input().split())
A=[int(input()) for _ in range(M)]

A=set(A)
D=[0]*(N+1)
D[0]=1

direction=[1,2]

for i in range(1,N+1):
 if i in A: continue
 # print([abs(H[i]-H[i-a])+D[i-a] for a in [1,2]])
 cnt=0
 for d in direction:
    prv=i-d
    if 0<=prv and not(prv in A): 
        cnt=cnt+D[prv]
        #print(i, prv,D[prv])

 D[i]=cnt
print(D[-1] % 1000000007)