N,M=map(int,input().split())
a=[0]*(N+1)
INF=10**100
NUM=7+10**9
dp=[0]*(N+1)

for _ in range(M):
    tmp=int(input())
    a[tmp]=1

dp[0]=1
if not a[1]: dp[1]+=dp[0]
for i in range(2,N+1):
    if a[i]: continue
    dp[i]+=dp[i-1]+dp[i-2]
    dp[i]%=NUM

print(dp[N]) 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 INF=10**100 INF 10**100 10 100 NUM=7+10**9 NUM 7+10**9 7 10**9 10 9 dp=[0]*(N+1) dp [0]*(N+1) [0] 0 N+1 N 1 for _ in range(M):
    tmp=int(input())
    a[tmp]=1 _ range(M) range M tmp=int(input()) tmp int(input()) int input() input a[tmp]=1 a[tmp] a tmp 1 dp[0]=1 dp[0] dp 0 1 if not a[1]: dp[1]+=dp[0] not a[1] a[1] a 1 for i in range(2,N+1):
    if a[i]: continue
    dp[i]+=dp[i-1]+dp[i-2]
    dp[i]%=NUM i range(2,N+1) range 2 N+1 N 1 if a[i]: continue
     a[i] a i dp[i]+=dp[i-1]+dp[i-2] dp[i] dp i dp[i-1]+dp[i-2] dp[i-1] dp i-1 i 1 dp[i-2] dp i-2 i 2 dp[i]%=NUM dp[i] dp i NUM print(dp[N]) print dp[N] dp N M=map(int,input().split()) map(int,input().split()) M tmp=int(input()) int(input()) tmp INF=10**100 10**100 INF NUM=7+10**9 7+10**9 NUM N,M=map(int,input().split()) map(int,input().split()) N a=[0]*(N+1) [0]*(N+1) a dp=[0]*(N+1) [0]*(N+1) dp
N,M=map(int,input().split())
a=[0]*(N+1)
INF=10**100
NUM=7+10**9
dp=[0]*(N+1)

for _ in range(M):
    tmp=int(input())
    a[tmp]=1

dp[0]=1
if not a[1]: dp[1]+=dp[0]
for i in range(2,N+1):
    if a[i]: continue
    dp[i]+=dp[i-1]+dp[i-2]
    dp[i]%=NUM

print(dp[N])