n, m = list(map(int, input().split()))
a = []
for _ in range(m):
    a.append(int(input()))
a = set(a)
cur = 0
dp = [0 for _ in range(n + 1)]
dp[0], dp[1] = 1, 1
if 1 in a:
    dp[1] = 0
for i in range(2, n + 1):
    if i in a:
        continue
    dp[i] = (dp[i - 1] + dp[i - 2]) % (10 ** 9 + 7)
print(dp[n]) 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 _ in range(m):
    a.append(int(input())) _ range(m) range m a.append(int(input())) a.append a append int(input()) int input() input a = set(a) a set(a) set a cur = 0 cur 0 0 for _ in range(n + 1) for _ in range(n + 1) _ range(n + 1) range n + 1 n 1 for _ in range(n + 1) 0 dp = [0 for _ in range(n + 1)] dp [0 for _ in range(n + 1)] dp[0], dp[1] = 1, 1 dp[0] dp 0 1 dp[1] dp 1 1 if 1 in a:
    dp[1] = 0 1 in a 1 a dp[1] = 0 dp[1] dp 1 0 for i in range(2, n + 1):
    if i in a:
        continue
    dp[i] = (dp[i - 1] + dp[i - 2]) % (10 ** 9 + 7) i range(2, n + 1) range 2 n + 1 n 1 if i in a:
        continue
     i in a i a continue dp[i] = (dp[i - 1] + dp[i - 2]) % (10 ** 9 + 7) dp[i] dp i (dp[i - 1] + dp[i - 2]) % (10 ** 9 + 7) dp[i - 1] + dp[i - 2] dp[i - 1] dp i - 1 i 1 dp[i - 2] dp i - 2 i 2 10 ** 9 + 7 10 ** 9 10 9 7 print(dp[n]) print dp[n] dp n dp = [0 for _ in range(n + 1)] [0 for _ in range(n + 1)] dp cur = 0 0 cur a = [] [] a a = set(a) set(a) a m = list(map(int, input().split())) list(map(int, input().split())) m n, m = list(map(int, input().split())) list(map(int, input().split())) n
n, m = list(map(int, input().split()))
a = []
for _ in range(m):
    a.append(int(input()))
a = set(a)
cur = 0
dp = [0 for _ in range(n + 1)]
dp[0], dp[1] = 1, 1
if 1 in a:
    dp[1] = 0
for i in range(2, n + 1):
    if i in a:
        continue
    dp[i] = (dp[i - 1] + dp[i - 2]) % (10 ** 9 + 7)
print(dp[n])
