mod = 1000000007
    
N,M = map(int,input().split())

A = [int(input()) for _ in range(M)]

memo = [0]*(100001)

for a in A:
    memo[a] = 1

ruiseki = [0]*(N+1)

ruiseki[0] = 1

for i in range(1,N+1):
    ruiseki[i] = ruiseki[i-1]+ruiseki[i-2]
    if memo[i] != 0:
        ruiseki[i] = 0
print(ruiseki[-1]%mod) mod = 1000000007 mod 1000000007 N,M = map(int,input().split()) N map(int,input().split()) map int input().split() ().split () input split M int(input()) for _ in range(M) for _ in range(M) _ range(M) range M for _ in range(M) int(input()) int input() input A = [int(input()) for _ in range(M)] A [int(input()) for _ in range(M)] memo = [0]*(100001) memo [0]*(100001) [0] 0 100001 for a in A:
    memo[a] = 1 a A memo[a] = 1 memo[a] memo a 1 ruiseki = [0]*(N+1) ruiseki [0]*(N+1) [0] 0 N+1 N 1 ruiseki[0] = 1 ruiseki[0] ruiseki 0 1 for i in range(1,N+1):
    ruiseki[i] = ruiseki[i-1]+ruiseki[i-2]
    if memo[i] != 0:
        ruiseki[i] = 0 i range(1,N+1) range 1 N+1 N 1 ruiseki[i] = ruiseki[i-1]+ruiseki[i-2] ruiseki[i] ruiseki i ruiseki[i-1]+ruiseki[i-2] ruiseki[i-1] ruiseki i-1 i 1 ruiseki[i-2] ruiseki i-2 i 2 if memo[i] != 0:
        ruiseki[i] = 0 memo[i] != 0 memo[i] memo i 0 ruiseki[i] = 0 ruiseki[i] ruiseki i 0 print(ruiseki[-1]%mod) print ruiseki[-1]%mod ruiseki[-1] ruiseki -1 mod M = map(int,input().split()) map(int,input().split()) M ruiseki = [0]*(N+1) [0]*(N+1) ruiseki A = [int(input()) for _ in range(M)] [int(input()) for _ in range(M)] A memo = [0]*(100001) [0]*(100001) memo N,M = map(int,input().split()) map(int,input().split()) N mod = 1000000007 1000000007 mod
mod = 1000000007
    
N,M = map(int,input().split())

A = [int(input()) for _ in range(M)]

memo = [0]*(100001)

for a in A:
    memo[a] = 1

ruiseki = [0]*(N+1)

ruiseki[0] = 1

for i in range(1,N+1):
    ruiseki[i] = ruiseki[i-1]+ruiseki[i-2]
    if memo[i] != 0:
        ruiseki[i] = 0
print(ruiseki[-1]%mod)