n, m = map(int, input().split())
keep = [0] * (n + 1)
kep = [-1] * (n + 1)

for i in range(m):
    a = int(input())
    kep[a] = 0
keep[0] = 1
keep[1] = 0 if kep[1] == 0 else 1
for j in range(0, n - 1):
    keep[j + 2] = [0, keep[j] + keep[j + 1]][kep[j + 2]] % 1000000007
print(keep[n]) n, m = map(int, input().split()) n map(int, input().split()) map int input().split() ().split () input split m keep = [0] * (n + 1) keep [0] * (n + 1) [0] 0 n + 1 n 1 kep = [-1] * (n + 1) kep [-1] * (n + 1) [-1] -1 n + 1 n 1 for i in range(m):
    a = int(input())
    kep[a] = 0 i range(m) range m a = int(input()) a int(input()) int input() input kep[a] = 0 kep[a] kep a 0 keep[0] = 1 keep[0] keep 0 1 keep[1] = 0 if kep[1] == 0 else 1 keep[1] keep 1 0 if kep[1] == 0 else 1 kep[1] == 0 kep[1] kep 1 0 0 1 for j in range(0, n - 1):
    keep[j + 2] = [0, keep[j] + keep[j + 1]][kep[j + 2]] % 1000000007 j range(0, n - 1) range 0 n - 1 n 1 keep[j + 2] = [0, keep[j] + keep[j + 1]][kep[j + 2]] % 1000000007 keep[j + 2] keep j + 2 j 2 [0, keep[j] + keep[j + 1]][kep[j + 2]] % 1000000007 [0, keep[j] + keep[j + 1]][kep[j + 2]] [0, keep[j] + keep[j + 1]] 0 keep[j] + keep[j + 1] keep[j] keep j keep[j + 1] keep j + 1 j 1 kep[j + 2] kep j + 2 j 2 1000000007 print(keep[n]) print keep[n] keep n keep = [0] * (n + 1) [0] * (n + 1) keep kep = [-1] * (n + 1) [-1] * (n + 1) kep m = map(int, input().split()) map(int, input().split()) m a = int(input()) int(input()) a n, m = map(int, input().split()) map(int, input().split()) n
n, m = map(int, input().split())
keep = [0] * (n + 1)
kep = [-1] * (n + 1)

for i in range(m):
    a = int(input())
    kep[a] = 0
keep[0] = 1
keep[1] = 0 if kep[1] == 0 else 1
for j in range(0, n - 1):
    keep[j + 2] = [0, keep[j] + keep[j + 1]][kep[j + 2]] % 1000000007
print(keep[n])
