n, m = map(int, input().split())
set_A = set()
dp = [0]*n
mod = pow(10, 9) + 7

for _ in range(m):
    set_A.add(int(input()))

if 1 not in set_A:
    dp[0] = 1
if 2 not in set_A and n != 1:
    dp[1] = 1 + dp[0]

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

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

for _ in range(m):
    set_A.add(int(input()))

if 1 not in set_A:
    dp[0] = 1
if 2 not in set_A and n != 1:
    dp[1] = 1 + dp[0]

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

print(dp[n-1])