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

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

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

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

print(dp[-1] % mod)
