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

for n in range(1,N+1):
  if n not in A:
    dp[n] = (dp[n-2]+dp[n-1])%(10**9+7)

print(dp[-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 m in range(M)) A set(int(input()) for m in range(M)) set int(input()) int input() input dp = (N+1)*[0] dp (N+1)*[0] N+1 N 1 [0] 0 dp[0] = 1 dp[0] dp 0 1 for n in range(1,N+1):
  if n not in A:
    dp[n] = (dp[n-2]+dp[n-1])%(10**9+7) n range(1,N+1) range 1 N+1 N 1 if n not in A:
    dp[n] = (dp[n-2]+dp[n-1])%(10**9+7) n not in A n A dp[n] = (dp[n-2]+dp[n-1])%(10**9+7) dp[n] dp n (dp[n-2]+dp[n-1])%(10**9+7) dp[n-2]+dp[n-1] dp[n-2] dp n-2 n 2 dp[n-1] dp n-1 n 1 10**9+7 10**9 10 9 7 print(dp[-1]) print dp[-1] dp -1 N,M = map(int,input().split()) map(int,input().split()) N A = set(int(input()) for m in range(M)) set(int(input()) for m in range(M)) A M = map(int,input().split()) map(int,input().split()) M dp = (N+1)*[0] (N+1)*[0] dp
N,M = map(int,input().split())
A = set(int(input()) for m in range(M))
dp = (N+1)*[0]
dp[0] = 1

for n in range(1,N+1):
  if n not in A:
    dp[n] = (dp[n-2]+dp[n-1])%(10**9+7)

print(dp[-1])