def getN():
    return int(input())

def getMN():
    return list(map(int, input().split()))

def getlist():
    return list(map(int, input().split()))

MOD = 1000000007
n,m = getlist()

broken = []
for i in range(m):
    broken.append(getN())

dp = [0 for i in range(n+1)]

dp[0] = 1
if 1 not in broken:
    dp[1] = 1

for i in range(2,n+1):
    if i not in broken:
        dp[i] = dp[i-1] + dp[i-2]
        dp[i] = dp[i] % MOD

print(dp[n])