from functools import lru_cache

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

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

@lru_cache(1000)
def dfs(pos):
    if pos > N:
        return 0
    if pos == N:
        return 1
    s = 0
    if (pos + 1) not in A:
        s += dfs(pos + 1)
    if (pos + 2) not in A:
        s += dfs(pos + 2)
    return s

print(dfs(0) % 1000000007)
