n,m = map(int,input().split())
MOD=1000000007

dp=[0]*(n+1)
dp[0]=1

for _ in range(m):
    dp[int(input())]=-1

for i in range(n+1):
    if dp[i]==-1:
        continue

    if i+1<=n and dp[i+1]!=-1:
        dp[i+1]=(dp[i+1]+dp[i])%MOD
    if i+2<=n and dp[i+2]!=-1:
        dp[i+2]=(dp[i+2]+dp[i])%MOD

print(dp[-1]) n,m = map(int,input().split()) n map(int,input().split()) map int input().split() ().split () input split m 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 _ in range(m):
    dp[int(input())]=-1 _ range(m) range m dp[int(input())]=-1 dp[int(input())] dp int(input()) int input() input -1 for i in range(n+1):
    if dp[i]==-1:
        continue

    if i+1<=n and dp[i+1]!=-1:
        dp[i+1]=(dp[i+1]+dp[i])%MOD
    if i+2<=n and dp[i+2]!=-1:
        dp[i+2]=(dp[i+2]+dp[i])%MOD i range(n+1) range n+1 n 1 if dp[i]==-1:
        continue

     dp[i]==-1 dp[i] dp i -1 continue if i+1<=n and dp[i+1]!=-1:
        dp[i+1]=(dp[i+1]+dp[i])%MOD
     i+1<=n and dp[i+1]!=-1 i+1<=n i+1 i 1 n dp[i+1]!=-1 dp[i+1] dp i+1 i 1 -1 dp[i+1]=(dp[i+1]+dp[i])%MOD dp[i+1] dp i+1 i 1 (dp[i+1]+dp[i])%MOD dp[i+1]+dp[i] dp[i+1] dp i+1 i 1 dp[i] dp i MOD if i+2<=n and dp[i+2]!=-1:
        dp[i+2]=(dp[i+2]+dp[i])%MOD i+2<=n and dp[i+2]!=-1 i+2<=n i+2 i 2 n dp[i+2]!=-1 dp[i+2] dp i+2 i 2 -1 dp[i+2]=(dp[i+2]+dp[i])%MOD dp[i+2] dp i+2 i 2 (dp[i+2]+dp[i])%MOD dp[i+2]+dp[i] dp[i+2] dp i+2 i 2 dp[i] dp i MOD print(dp[-1]) print dp[-1] dp -1 dp=[0]*(n+1) [0]*(n+1) dp n,m = map(int,input().split()) map(int,input().split()) n m = map(int,input().split()) map(int,input().split()) m MOD=1000000007 1000000007 MOD
n,m = map(int,input().split())
MOD=1000000007

dp=[0]*(n+1)
dp[0]=1

for _ in range(m):
    dp[int(input())]=-1

for i in range(n+1):
    if dp[i]==-1:
        continue

    if i+1<=n and dp[i+1]!=-1:
        dp[i+1]=(dp[i+1]+dp[i])%MOD
    if i+2<=n and dp[i+2]!=-1:
        dp[i+2]=(dp[i+2]+dp[i])%MOD

print(dp[-1])
