N,M=map(int,input().split())
a=[0]*M
for i in range(M):
  a[i]=int(input())
dp=[1]*(N+1)
mod=10**9+7
j=0
if a[j]==1:
  j=j+1
  dp[1]=0
for i in range(2,N+1):
  if j==0:
    if i==a[j]:
      dp[i]=0
      if j < M-1:
        j=j+1
      else:
        a[j]=-1
    else:
      dp[i]=(dp[i-1]+dp[i-2])%mod
  else:
    if i==a[j] and i-1 !=a[j-1]:
      dp[i]=0
      if j < M-1:
        j=j+1
      else:
        a[j]=-1
    elif i==a[j] and i-1 ==a[j-1]:
      dp[N]=0
      break
    elif i-2 ==a[j-1]:
      dp[i]=dp[i-1]
    elif i-1 ==a[j-1]:
      dp[i]=dp[i-2]
    elif i-1 !=a[j-1] and i-2 !=a[j-1]:
      dp[i]=(dp[i-1]+dp[i-2])%mod
print(dp[N]%mod)