n, m = map(int, input().split())
a1_n = [int(input()) for _ in range(m)]

cnts = [1]
positions = [0]
result = 0
while len(positions) > 0:
    new_cnts = []
    new_positions = []
    for c, p in zip(cnts, positions):
        for steps in [1, 2]:
            new_pos = p + steps
            if new_pos == n:
                result = (result + c) % 1000000007
                break
            elif new_pos < n and new_pos not in a1_n:
                new_cnts.append(c)
                new_positions.append(new_pos)
    positions = list(set(new_positions))
    cnts = [sum([_c for _c, _p in zip(new_cnts, new_positions) if _p == pos]) % 1000000007 for pos in positions]

print(result)