import sys

N,M = list(map(int, input().strip().split(' ')))

broken = set(int(line.strip()) for line in sys.stdin)

p = [0]*(N+2)

p[0] = 1

for i in range(N):

  # 今i段目にいる

  if i in broken:

    continue

  p[i+1] += p[i]

  p[i+2] += p[i]

print((p[N]%1000000007))

import sys

N,M = list(map(int, input().strip().split(' ')))

if M > 0:

  broken = set(int(line.strip()) for line in sys.stdin)

else:

  broken = set()

p = [0]*(N+2)

p[0] = 1

for i in range(N):

  # 今i段目にいる

  if i in broken:

    continue

  p[i+1] += p[i]

  p[i+2] += p[i]

print((p[N]%1000000007))

import sys

N, M = list(map(int, input().strip().split(" ")))
broken = set(int(line.strip()) for line in sys.stdin)
p = [0] * (N + 2)
p[0] = 1
for i in range(N):
    # 今i段目にいる
    if i in broken:
        continue
    p[i + 1] += p[i]
    p[i + 2] += p[i]
print((p[N] % 1000000007))

import sys

N, M = list(map(int, input().strip().split(" ")))
if M > 0:
    broken = set(int(line.strip()) for line in sys.stdin)
else:
    broken = set()
p = [0] * (N + 2)
p[0] = 1
for i in range(N):
    # 今i段目にいる
    if i in broken:
        continue
    p[i + 1] += p[i]
    p[i + 2] += p[i]
print((p[N] % 1000000007))

-broken = set(int(line.strip()) for line in sys.stdin) +if M > 0: +    broken = set(int(line.strip()) for line in sys.stdin) +else: +    broken = set()