N, M = map(int, input().split())
a = []
oks = [1] * (N+1)
for i in range(M):
    a.append(int(input()))
    oks[a[i]] = 0

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

for now in range(N):
    for nex in range(now+1, min(N, now+2) + 1):
        if oks[nex] == 1:
            dp[nex] += dp[now]
            dp[nex] %= 10 ** 9 + 7

print(dp[N]) N, M = map(int, input().split()) N map(int, input().split()) map int input().split() ().split () input split M a = [] a [] oks = [1] * (N+1) oks [1] * (N+1) [1] 1 N+1 N 1 for i in range(M):
    a.append(int(input()))
    oks[a[i]] = 0 i range(M) range M a.append(int(input())) a.append a append int(input()) int input() input oks[a[i]] = 0 oks[a[i]] oks a[i] a i 0 dp = [0] * (N+1) dp [0] * (N+1) [0] 0 N+1 N 1 dp[0] = 1 dp[0] dp 0 1 for now in range(N):
    for nex in range(now+1, min(N, now+2) + 1):
        if oks[nex] == 1:
            dp[nex] += dp[now]
            dp[nex] %= 10 ** 9 + 7 now range(N) range N for nex in range(now+1, min(N, now+2) + 1):
        if oks[nex] == 1:
            dp[nex] += dp[now]
            dp[nex] %= 10 ** 9 + 7 nex range(now+1, min(N, now+2) + 1) range now+1 now 1 min(N, now+2) + 1 min(N, now+2) min N now+2 now 2 1 if oks[nex] == 1:
            dp[nex] += dp[now]
            dp[nex] %= 10 ** 9 + 7 oks[nex] == 1 oks[nex] oks nex 1 dp[nex] += dp[now] dp[nex] dp nex dp[now] dp now dp[nex] %= 10 ** 9 + 7 dp[nex] dp nex 10 ** 9 + 7 10 ** 9 10 9 7 print(dp[N]) print dp[N] dp N M = map(int, input().split()) map(int, input().split()) M a = [] [] a oks = [1] * (N+1) [1] * (N+1) oks N, M = map(int, input().split()) map(int, input().split()) N dp = [0] * (N+1) [0] * (N+1) dp
N, M = map(int, input().split())
a = []
oks = [1] * (N+1)
for i in range(M):
    a.append(int(input()))
    oks[a[i]] = 0

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

for now in range(N):
    for nex in range(now+1, min(N, now+2) + 1):
        if oks[nex] == 1:
            dp[nex] += dp[now]
            dp[nex] %= 10 ** 9 + 7

print(dp[N])