n, m = map(int, input().split())
A = set([int(input()) for _ in range(m)])
MOD = 10 ** 9 + 7

dp = [0] * (n + 1)
dp[0] = 1

for i in range(n + 1):
  if i > 1:
    if i not in A:
      dp[i] += dp[i - 2]
  if i > 0:
    if i not in A:
      dp[i] += dp[i - 1]
  dp[i] %= MOD

print(dp[-1]) 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 = set([int(input()) for _ in range(m)]) A set([int(input()) for _ in range(m)]) set [int(input()) for _ in range(m)] 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 for i in range(n + 1):
  if i > 1:
    if i not in A:
      dp[i] += dp[i - 2]
  if i > 0:
    if i not in A:
      dp[i] += dp[i - 1]
  dp[i] %= MOD i range(n + 1) range n + 1 n 1 if i > 1:
    if i not in A:
      dp[i] += dp[i - 2]
   i > 1 i 1 if i not in A:
      dp[i] += dp[i - 2]
   i not in A i A dp[i] += dp[i - 2] dp[i] dp i dp[i - 2] dp i - 2 i 2 if i > 0:
    if i not in A:
      dp[i] += dp[i - 1]
   i > 0 i 0 if i not in A:
      dp[i] += dp[i - 1]
   i not in A i A dp[i] += dp[i - 1] dp[i] dp i dp[i - 1] dp i - 1 i 1 dp[i] %= MOD dp[i] dp i MOD print(dp[-1]) print dp[-1] dp -1 MOD = 10 ** 9 + 7 10 ** 9 + 7 MOD dp = [0] * (n + 1) [0] * (n + 1) dp A = set([int(input()) for _ in range(m)]) set([int(input()) for _ in range(m)]) A 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 _ in range(m)])
MOD = 10 ** 9 + 7

dp = [0] * (n + 1)
dp[0] = 1

for i in range(n + 1):
  if i > 1:
    if i not in A:
      dp[i] += dp[i - 2]
  if i > 0:
    if i not in A:
      dp[i] += dp[i - 1]
  dp[i] %= MOD

print(dp[-1])