N,M=map(int,input().strip().split())
a=[int(input()) for _ in range(M)]

danger=[0 for n in range(N+1)]
for m in range(M):
    danger[a[m]]=1

dp=[0 for n in range(N+1)]
dp[0]=1
if danger[1]!=1:
    dp[1]=1
for n in range(2,N+1):
    if danger[n]==1:
        dp[n]=0
    else:
        dp[n]=dp[n-1]+dp[n-2]

print(dp[N]%1000000007) N,M=map(int,input().strip().split()) N map(int,input().strip().split()) map int input().strip().split() ().strip().split ().strip() ().strip () input strip 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)] 0 for n in range(N+1) for n in range(N+1) n range(N+1) range N+1 N 1 for n in range(N+1) 0 danger=[0 for n in range(N+1)] danger [0 for n in range(N+1)] for m in range(M):
    danger[a[m]]=1 m range(M) range M danger[a[m]]=1 danger[a[m]] danger a[m] a m 1 0 for n in range(N+1) for n in range(N+1) n range(N+1) range N+1 N 1 for n in range(N+1) 0 dp=[0 for n in range(N+1)] dp [0 for n in range(N+1)] dp[0]=1 dp[0] dp 0 1 if danger[1]!=1:
    dp[1]=1 danger[1]!=1 danger[1] danger 1 1 dp[1]=1 dp[1] dp 1 1 for n in range(2,N+1):
    if danger[n]==1:
        dp[n]=0
    else:
        dp[n]=dp[n-1]+dp[n-2] n range(2,N+1) range 2 N+1 N 1 if danger[n]==1:
        dp[n]=0
    else:
        dp[n]=dp[n-1]+dp[n-2] danger[n]==1 danger[n] danger n 1 dp[n]=0 dp[n] dp n 0 dp[n]=dp[n-1]+dp[n-2] dp[n] dp n dp[n-1]+dp[n-2] dp[n-1] dp n-1 n 1 dp[n-2] dp n-2 n 2 print(dp[N]%1000000007) print dp[N]%1000000007 dp[N] dp N 1000000007 dp=[0 for n in range(N+1)] [0 for n in range(N+1)] dp N,M=map(int,input().strip().split()) map(int,input().strip().split()) N M=map(int,input().strip().split()) map(int,input().strip().split()) M danger=[0 for n in range(N+1)] [0 for n in range(N+1)] danger a=[int(input()) for _ in range(M)] [int(input()) for _ in range(M)] a
N,M=map(int,input().strip().split())
a=[int(input()) for _ in range(M)]

danger=[0 for n in range(N+1)]
for m in range(M):
    danger[a[m]]=1

dp=[0 for n in range(N+1)]
dp[0]=1
if danger[1]!=1:
    dp[1]=1
for n in range(2,N+1):
    if danger[n]==1:
        dp[n]=0
    else:
        dp[n]=dp[n-1]+dp[n-2]

print(dp[N]%1000000007)