#96 C - Typical Stairs
N,M = map(int,input().split())
A = [int(input()) for _ in range(M)]
A = set(A)
MOD = 1000000007

dp = [0]*(N+1)
dp[0] = 1
for i in range(1,N+1):
    if i in A:
        continue
    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 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)] A = set(A) A set(A) set A MOD = 1000000007 MOD 1000000007 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(1,N+1):
    if i in A:
        continue
    dp[i] = (dp[i-1] + dp[i-2])%MOD i range(1,N+1) range 1 N+1 N 1 if i in A:
        continue
     i in A i A 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()) for _ in range(M)] [int(input()) for _ in range(M)] A M = map(int,input().split()) map(int,input().split()) M MOD = 1000000007 1000000007 MOD dp = [0]*(N+1) [0]*(N+1) dp A = set(A) set(A) A N,M = map(int,input().split()) map(int,input().split()) N
#96 C - Typical Stairs
N,M = map(int,input().split())
A = [int(input()) for _ in range(M)]
A = set(A)
MOD = 1000000007

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