# A=gets.to_i
# B=gets.split.map(&:to_i)
# C=N.times.map{gets.to_i}
# D=N.times.map{gets.split.map(&:to_i)}
# S=gets.chomp

MOD=1000000007
N,M=gets.split.map(&:to_i)
A=M.times.map{gets.to_i}

DP=Array.new(N+2,0)

DP[0]=1

N.times do |i|
  if A[1]!=i && A[0]!=i
    DP[i+2]=(DP[i+2]+DP[i])%MOD
  end
  if A[0]!=i
    DP[i+1]=(DP[i+1]+DP[i])%MOD
  end
  if A[0]==i
    A.shift
  end
end
puts DP[N]