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

dp = [0] * (N + 1)
dp[0] = 1
if a[0] == 1:
    a.pop(0)
else:
    dp[1] = 1

for i in range(2, N + 1):
    if a[0] == i:
        dp[i] = 0
        a.pop(0)
    else:
        dp[i] = (dp[i-1] + dp[i-2]) % mod

print(dp[N]) N, M = map(int, input().split()) N map(int, input().split()) map int input().split() ().split () input split M a = [0] * M a [0] * M [0] 0 M for i in range(M):
    a[i] = int(input()) i range(M) range M a[i] = int(input()) a[i] a i int(input()) int input() input a.append(N+1) a.append a append N+1 N 1 mod = 1000000007 mod 1000000007 dp = [0] * (N + 1) dp [0] * (N + 1) [0] 0 N + 1 N 1 dp[0] = 1 dp[0] dp 0 1 if a[0] == 1:
    a.pop(0)
else:
    dp[1] = 1 a[0] == 1 a[0] a 0 1 a.pop(0) a.pop a pop 0 dp[1] = 1 dp[1] dp 1 1 for i in range(2, N + 1):
    if a[0] == i:
        dp[i] = 0
        a.pop(0)
    else:
        dp[i] = (dp[i-1] + dp[i-2]) % mod i range(2, N + 1) range 2 N + 1 N 1 if a[0] == i:
        dp[i] = 0
        a.pop(0)
    else:
        dp[i] = (dp[i-1] + dp[i-2]) % mod a[0] == i a[0] a 0 i dp[i] = 0 dp[i] dp i 0 a.pop(0) a.pop a pop 0 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 print(dp[N]) print dp[N] dp N N, M = map(int, input().split()) map(int, input().split()) N dp = [0] * (N + 1) [0] * (N + 1) dp M = map(int, input().split()) map(int, input().split()) M a = [0] * M [0] * M a mod = 1000000007 1000000007 mod
N, M = map(int, input().split())
a = [0] * M
for i in range(M):
    a[i] = int(input())
a.append(N+1)
mod = 1000000007

dp = [0] * (N + 1)
dp[0] = 1
if a[0] == 1:
    a.pop(0)
else:
    dp[1] = 1

for i in range(2, N + 1):
    if a[0] == i:
        dp[i] = 0
        a.pop(0)
    else:
        dp[i] = (dp[i-1] + dp[i-2]) % mod

print(dp[N])
