n, m = map(int, input().split())
a = set(list(int(input()) for i in range(m)))
p = 10 ** 9 + 7
dp = [0] * (n + 1)
dp[0] = 1
for i in range(1, n + 1):
    dp[i] = (dp[i - 1] + dp[i - 2]) % p
    if i in a:
        dp[i] = 0
print(dp[n])

7f0707e89699593889c8f914723d64aa15ea0a8d
<mask token>

<mask token>
for i in range(1, n + 1):
    dp[i] = (dp[i - 1] + dp[i - 2]) % p
    if i in a:
        dp[i] = 0
print(dp[n])

n, m = map(int, input().split())
a = set(list(int(input()) for i in range(m)))
p = 10 ** 9 + 7
dp = [0] * (n + 1)
dp[0] = 1
for i in range(1, n + 1):
    dp[i] = (dp[i - 1] + dp[i - 2]) % p
    if i in a:
        dp[i] = 0
print(dp[n])
