#include<bits/stdc++.h>
#define int long long
#define maxn 100010
using namespace std;
int n,m,ans=0,dp[maxn];
bool f[maxn];
main()
{
	memset(dp,0,sizeof(f));
	memset(f,true,sizeof(f));
	cin>>n>>m;
	for(int i=0;i<m;i++)
	{
		int x;
		cin>>x;
		f[x]=false;
	}
	if(!f[1]&&!f[2])
	{
		cout<<0<<endl;
		return 0;
	}
	if(f[1])
		dp[1]=1,dp[2]=1;
	if(f[2])
		dp[2]++;
	for(int i=3;i<=n;i++)
	{
		if(f[i])
			dp[i]=dp[i-1]+dp[i-2];
	}
	cout<<(long long)dp[n]%1000000007<<endl;
	return 0;
}