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