#フィボナッチ数列か…
#c問題も解けないのか…
#典型問題なんだろうな
#踏めない段の分は除いて考えれば良い
n,m=input().split()
n,m=int(n),int(m)
ax=[int(input()) for i in range(m)]
bx=[1,1]
if ax[0]==1:
    bx[1]=0
for i in range(2,n+1):
    if i in ax:
        bx.append(0)
    else:
        bx.append((bx[i-2]+bx[i-1])%1000000007)
print(bx)
