MOD = 10**9+7

n, m = map(int,input().split())

A = [0]*(n+1)
for i in range(m):
    a = int(input())
    A[a] = 1

dp = [0]*(n+1)
dp[0] = 1
if not A[1]:
    dp[1] = 1

for i in range(2,n+1):
    if A[i]:
        continue
    dp[i] = (dp[i-1]+dp[i-2])%MOD

print(dp[n]) MOD = 10**9+7 MOD 10**9+7 10**9 10 9 7 n, m = map(int,input().split()) n map(int,input().split()) map int input().split() ().split () input split m A = [0]*(n+1) A [0]*(n+1) [0] 0 n+1 n 1 for i in range(m):
    a = int(input())
    A[a] = 1 i range(m) range m a = int(input()) a int(input()) int input() input A[a] = 1 A[a] A a 1 dp = [0]*(n+1) dp [0]*(n+1) [0] 0 n+1 n 1 dp[0] = 1 dp[0] dp 0 1 if not A[1]:
    dp[1] = 1 not A[1] A[1] A 1 dp[1] = 1 dp[1] dp 1 1 for i in range(2,n+1):
    if A[i]:
        continue
    dp[i] = (dp[i-1]+dp[i-2])%MOD i range(2,n+1) range 2 n+1 n 1 if A[i]:
        continue
     A[i] A i continue dp[i] = (dp[i-1]+dp[i-2])%MOD dp[i] dp i (dp[i-1]+dp[i-2])%MOD dp[i-1]+dp[i-2] dp[i-1] dp i-1 i 1 dp[i-2] dp i-2 i 2 MOD print(dp[n]) print dp[n] dp n a = int(input()) int(input()) a n, m = map(int,input().split()) map(int,input().split()) n m = map(int,input().split()) map(int,input().split()) m dp = [0]*(n+1) [0]*(n+1) dp A = [0]*(n+1) [0]*(n+1) A MOD = 10**9+7 10**9+7 MOD
MOD = 10**9+7

n, m = map(int,input().split())

A = [0]*(n+1)
for i in range(m):
    a = int(input())
    A[a] = 1

dp = [0]*(n+1)
dp[0] = 1
if not A[1]:
    dp[1] = 1

for i in range(2,n+1):
    if A[i]:
        continue
    dp[i] = (dp[i-1]+dp[i-2])%MOD

print(dp[n])