mod = 1000000007

n, m = map(int, input().split())
s = [0] * (n + 2)
for _ in range(m):
    a = int(input())
    s[a] = -1

s[0] = 1
for i in range(0, n):
    if s[i] < 0:
        continue
    if s[i + 1] >= 0:
        s[i + 1] = (s[i + 1] + s[i]) % mod
    if s[i + 2] >= 0:
        s[i + 2] = (s[i + 2] + s[i]) % mod

print (s[n]) mod = 1000000007 mod 1000000007 n, m = map(int, input().split()) n map(int, input().split()) map int input().split() ().split () input split m s = [0] * (n + 2) s [0] * (n + 2) [0] 0 n + 2 n 2 for _ in range(m):
    a = int(input())
    s[a] = -1 _ range(m) range m a = int(input()) a int(input()) int input() input s[a] = -1 s[a] s a -1 s[0] = 1 s[0] s 0 1 for i in range(0, n):
    if s[i] < 0:
        continue
    if s[i + 1] >= 0:
        s[i + 1] = (s[i + 1] + s[i]) % mod
    if s[i + 2] >= 0:
        s[i + 2] = (s[i + 2] + s[i]) % mod i range(0, n) range 0 n if s[i] < 0:
        continue
     s[i] < 0 s[i] s i 0 continue if s[i + 1] >= 0:
        s[i + 1] = (s[i + 1] + s[i]) % mod
     s[i + 1] >= 0 s[i + 1] s i + 1 i 1 0 s[i + 1] = (s[i + 1] + s[i]) % mod s[i + 1] s i + 1 i 1 (s[i + 1] + s[i]) % mod s[i + 1] + s[i] s[i + 1] s i + 1 i 1 s[i] s i mod if s[i + 2] >= 0:
        s[i + 2] = (s[i + 2] + s[i]) % mod s[i + 2] >= 0 s[i + 2] s i + 2 i 2 0 s[i + 2] = (s[i + 2] + s[i]) % mod s[i + 2] s i + 2 i 2 (s[i + 2] + s[i]) % mod s[i + 2] + s[i] s[i + 2] s i + 2 i 2 s[i] s i mod print (s[n]) print s[n] s n m = map(int, input().split()) map(int, input().split()) m mod = 1000000007 1000000007 mod s = [0] * (n + 2) [0] * (n + 2) s a = int(input()) int(input()) a n, m = map(int, input().split()) map(int, input().split()) n
mod = 1000000007

n, m = map(int, input().split())
s = [0] * (n + 2)
for _ in range(m):
    a = int(input())
    s[a] = -1

s[0] = 1
for i in range(0, n):
    if s[i] < 0:
        continue
    if s[i + 1] >= 0:
        s[i + 1] = (s[i + 1] + s[i]) % mod
    if s[i + 2] >= 0:
        s[i + 2] = (s[i + 2] + s[i]) % mod

print (s[n])
