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

mod = 10**9+7
dp = [-1]*(n+1)
dp[0]= 0
dp[1] = 1
for i in range(m):
    a = int(input())
    dp[a] = 0

for i in range(2,n+1):
    if dp[i] == -1:
        if i <= 2:
            dp[i] = dp[i-1]+1
        elif i>=3 :
            dp[i] = (dp[i-1]+ dp[i-2])%mod

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

mod = 10**9+7
dp = [-1]*(n+1)
dp[0]= 0
dp[1] = 1
for i in range(m):
    a = int(input())
    dp[a] = 0

for i in range(2,n+1):
    if dp[i] == -1:
        if i <= 2:
            dp[i] = dp[i-1]+1
        elif i>=3 :
            dp[i] = (dp[i-1]+ dp[i-2])%mod

print(dp[n])