n, m = map(int, input().split())
am = [int(input()) for _ in range(m)]
hole = [False]*(n+1)

for i in am:
    hole[i] = True

dp = [0]*(n+1)
dp[0] = 1
for i in range(n):
    for j in range(i+1, min(n, i+2)+1):
        if not hole[j]:
            dp[j] += dp[i]
            dp[j] %=1000000007
print(dp[n]) n, m = map(int, input().split()) n map(int, input().split()) map int input().split() ().split () input split m int(input()) for _ in range(m) for _ in range(m) _ range(m) range m for _ in range(m) int(input()) int input() input am = [int(input()) for _ in range(m)] am [int(input()) for _ in range(m)] hole = [False]*(n+1) hole [False]*(n+1) [False] False n+1 n 1 for i in am:
    hole[i] = True i am hole[i] = True hole[i] hole i True dp = [0]*(n+1) dp [0]*(n+1) [0] 0 n+1 n 1 dp[0] = 1 dp[0] dp 0 1 for i in range(n):
    for j in range(i+1, min(n, i+2)+1):
        if not hole[j]:
            dp[j] += dp[i]
            dp[j] %=1000000007 i range(n) range n for j in range(i+1, min(n, i+2)+1):
        if not hole[j]:
            dp[j] += dp[i]
            dp[j] %=1000000007 j range(i+1, min(n, i+2)+1) range i+1 i 1 min(n, i+2)+1 min(n, i+2) min n i+2 i 2 1 if not hole[j]:
            dp[j] += dp[i]
            dp[j] %=1000000007 not hole[j] hole[j] hole j dp[j] += dp[i] dp[j] dp j dp[i] dp i dp[j] %=1000000007 dp[j] dp j 1000000007 print(dp[n]) print dp[n] dp n m = map(int, input().split()) map(int, input().split()) m am = [int(input()) for _ in range(m)] [int(input()) for _ in range(m)] am dp = [0]*(n+1) [0]*(n+1) dp n, m = map(int, input().split()) map(int, input().split()) n hole = [False]*(n+1) [False]*(n+1) hole
n, m = map(int, input().split())
am = [int(input()) for _ in range(m)]
hole = [False]*(n+1)

for i in am:
    hole[i] = True

dp = [0]*(n+1)
dp[0] = 1
for i in range(n):
    for j in range(i+1, min(n, i+2)+1):
        if not hole[j]:
            dp[j] += dp[i]
            dp[j] %=1000000007
print(dp[n])
