n, m = list(map(int, input().split()))
a = {}

for i in range(m):
    a[int(input())] = True

c = [0] * (n+1)
c[0] = 1

for i in range(1, n+1):
    if not i in a:
        c[i] = c[i-1] + c[i-2]

print(c[n] % 1000000007) n, m = list(map(int, input().split())) n list(map(int, input().split())) list map(int, input().split()) map int input().split() ().split () input split m a = {} a {} for i in range(m):
    a[int(input())] = True i range(m) range m a[int(input())] = True a[int(input())] a int(input()) int input() input True c = [0] * (n+1) c [0] * (n+1) [0] 0 n+1 n 1 c[0] = 1 c[0] c 0 1 for i in range(1, n+1):
    if not i in a:
        c[i] = c[i-1] + c[i-2] i range(1, n+1) range 1 n+1 n 1 if not i in a:
        c[i] = c[i-1] + c[i-2] not i in a i in a i a c[i] = c[i-1] + c[i-2] c[i] c i c[i-1] + c[i-2] c[i-1] c i-1 i 1 c[i-2] c i-2 i 2 print(c[n] % 1000000007) print c[n] % 1000000007 c[n] c n 1000000007 m = list(map(int, input().split())) list(map(int, input().split())) m c = [0] * (n+1) [0] * (n+1) c n, m = list(map(int, input().split())) list(map(int, input().split())) n a = {} {} a
n, m = list(map(int, input().split()))
a = {}

for i in range(m):
    a[int(input())] = True

c = [0] * (n+1)
c[0] = 1

for i in range(1, n+1):
    if not i in a:
        c[i] = c[i-1] + c[i-2]

print(c[n] % 1000000007)