n,m=map(int, input().split())
a=set(int(input())  for i in  range(m))
x=(10**9)+7

dp=[0]*(n+1)
dp[0]=1
if 1 not in a:
  dp[1]=1

for i in range(2,n+1):
  if i in a:
    continue
  dp[i]+=dp[i-1]+dp[i-2]
  #print(dp)
  
print(dp[-1]%x) n,m=map(int, input().split()) n map(int, input().split()) map int input().split() ().split () input split m a=set(int(input())  for i in  range(m)) a set(int(input())  for i in  range(m)) set int(input()) int input() input x=(10**9)+7 x (10**9)+7 10**9 10 9 7 dp=[0]*(n+1) dp [0]*(n+1) [0] 0 n+1 n 1 dp[0]=1 dp[0] dp 0 1 if 1 not in a:
  dp[1]=1 1 not in a 1 a dp[1]=1 dp[1] dp 1 1 for i in range(2,n+1):
  if i in a:
    continue
  dp[i]+=dp[i-1]+dp[i-2]
  #print(dp)
   i range(2,n+1) range 2 n+1 n 1 if i in a:
    continue
   i in a i a continue dp[i]+=dp[i-1]+dp[i-2] dp[i] dp i dp[i-1]+dp[i-2] dp[i-1] dp i-1 i 1 dp[i-2] dp i-2 i 2 print(dp[-1]%x) print dp[-1]%x dp[-1] dp -1 x a=set(int(input())  for i in  range(m)) set(int(input())  for i in  range(m)) a x=(10**9)+7 (10**9)+7 x dp=[0]*(n+1) [0]*(n+1) dp n,m=map(int, input().split()) map(int, input().split()) n m=map(int, input().split()) map(int, input().split()) m
n,m=map(int, input().split())
a=set(int(input())  for i in  range(m))
x=(10**9)+7

dp=[0]*(n+1)
dp[0]=1
if 1 not in a:
  dp[1]=1

for i in range(2,n+1):
  if i in a:
    continue
  dp[i]+=dp[i-1]+dp[i-2]
  #print(dp)
  
print(dp[-1]%x)