n, m = map(int, input().split())
A = [True] * (n+1)
for _ in range(m):
  a = int(input())
  A[a] = False

mod = 10**9 + 7
dp = [0] * (n+1)
dp[0] = 1
if A[1]:
  dp[1] = 1

for i in range(2, n+1):
  if A[i]:
    dp[i] = dp[i-1] + dp[i-2]
    dp[i] %= mod

print(dp[n]) n, m = map(int, input().split()) n map(int, input().split()) map int input().split() ().split () input split m A = [True] * (n+1) A [True] * (n+1) [True] True n+1 n 1 for _ in range(m):
  a = int(input())
  A[a] = False _ range(m) range m a = int(input()) a int(input()) int input() input A[a] = False A[a] A a False mod = 10**9 + 7 mod 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 A[1]:
  dp[1] = 1 A[1] A 1 dp[1] = 1 dp[1] dp 1 1 for i in range(2, n+1):
  if A[i]:
    dp[i] = dp[i-1] + dp[i-2]
    dp[i] %= mod i range(2, n+1) range 2 n+1 n 1 if A[i]:
    dp[i] = dp[i-1] + dp[i-2]
    dp[i] %= mod A[i] A i 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 dp[i] %= mod dp[i] dp i mod print(dp[n]) print dp[n] dp n dp = [0] * (n+1) [0] * (n+1) dp a = int(input()) int(input()) a n, m = map(int, input().split()) map(int, input().split()) n m = map(int, input().split()) map(int, input().split()) m mod = 10**9 + 7 10**9 + 7 mod A = [True] * (n+1) [True] * (n+1) A
n, m = map(int, input().split())
A = [True] * (n+1)
for _ in range(m):
  a = int(input())
  A[a] = False

mod = 10**9 + 7
dp = [0] * (n+1)
dp[0] = 1
if A[1]:
  dp[1] = 1

for i in range(2, n+1):
  if A[i]:
    dp[i] = dp[i-1] + dp[i-2]
    dp[i] %= mod

print(dp[n])