N,M = map(int, input().split())
A = [int(input()) for i in range(M)]
dp = [0]*(N+1)
for k in A:
    dp[k]="E"
dp[0]=1
if dp[1]=="E":
    dp[1]= 0
else:
    dp[1]= 1
for i in range(2,N+1):
    if dp[i]=="E":
        dp[i] = 0
    else:
        dp[i] = (dp[i-1]+dp[i-2])%(10**9+7)
print(dp[-1]) N,M = map(int, input().split()) N map(int, input().split()) map int input().split() ().split () input split M int(input()) for i in range(M) for i in range(M) i range(M) range M for i in range(M) int(input()) int input() input A = [int(input()) for i in range(M)] A [int(input()) for i in range(M)] dp = [0]*(N+1) dp [0]*(N+1) [0] 0 N+1 N 1 for k in A:
    dp[k]="E" k A dp[k]="E" dp[k] dp k "E" dp[0]=1 dp[0] dp 0 1 if dp[1]=="E":
    dp[1]= 0
else:
    dp[1]= 1 dp[1]=="E" dp[1] dp 1 "E" dp[1]= 0 dp[1] dp 1 0 dp[1]= 1 dp[1] dp 1 1 for i in range(2,N+1):
    if dp[i]=="E":
        dp[i] = 0
    else:
        dp[i] = (dp[i-1]+dp[i-2])%(10**9+7) i range(2,N+1) range 2 N+1 N 1 if dp[i]=="E":
        dp[i] = 0
    else:
        dp[i] = (dp[i-1]+dp[i-2])%(10**9+7) dp[i]=="E" dp[i] dp i "E" dp[i] = 0 dp[i] dp i 0 dp[i] = (dp[i-1]+dp[i-2])%(10**9+7) dp[i] dp i (dp[i-1]+dp[i-2])%(10**9+7) dp[i-1]+dp[i-2] dp[i-1] dp i-1 i 1 dp[i-2] dp i-2 i 2 10**9+7 10**9 10 9 7 print(dp[-1]) print dp[-1] dp -1 A = [int(input()) for i in range(M)] [int(input()) for i in range(M)] A dp = [0]*(N+1) [0]*(N+1) dp M = map(int, input().split()) map(int, input().split()) M N,M = map(int, input().split()) map(int, input().split()) N
N,M = map(int, input().split())
A = [int(input()) for i in range(M)]
dp = [0]*(N+1)
for k in A:
    dp[k]="E"
dp[0]=1
if dp[1]=="E":
    dp[1]= 0
else:
    dp[1]= 1
for i in range(2,N+1):
    if dp[i]=="E":
        dp[i] = 0
    else:
        dp[i] = (dp[i-1]+dp[i-2])%(10**9+7)
print(dp[-1])