n,m = map(int,input().split())
a = []
stairs = [0]*(n+2)
for _ in range(m):
    a = int(input())
    stairs[a] = 1
mod = 10**9 + 7

dp = [0]*(n+2)
dp[0] = 1

for i in range(n):
    if i <= 1:
        if stairs[i+1] == 0:
            dp[i+1] += dp[i]
            dp[i+1] %= mod
            stairs[i+1] = 1
    if stairs[i+2] == 0:
        dp[i+2] += dp[i+1]+dp[i]
        dp[i+2] %= mod
        stairs[i+2] = 1

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

dp = [0]*(n+2)
dp[0] = 1

for i in range(n):
    if i <= 1:
        if stairs[i+1] == 0:
            dp[i+1] += dp[i]
            dp[i+1] %= mod
            stairs[i+1] = 1
    if stairs[i+2] == 0:
        dp[i+2] += dp[i+1]+dp[i]
        dp[i+2] %= mod
        stairs[i+2] = 1

print(dp[n]%mod)
