n, m = map(int, input().split())
mod = 10**9+7
dp = [0]*(n+1)
dp[0] = 1
dp[1] = 1
seta = set([int(input()) for _ in range(m)])

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

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

print(dp[-1])
