#include<iostream>	//魔法の言葉（笑）
#include<fstream>
#include<iomanip>
#include<string>
#include<queue>
#include<vector>
#include<algorithm>
#include<tuple>
#include<numeric>
#include<map>
#include<cmath>
#define ll long long	//強いやつ
using namespace std;	//魔法の言葉（笑） mark Ⅱ
const ll mod=1000000007;

int main(){
int n,m;cin>>n>>m;
vector<int>safe(n+1,true);
for(int i=0;i<m;i++){
int a;cin>>a;
safe[a]=false;
}

vector<ll>dp(n+1);
dp[0]=1;
for(int now=0;now<n;now++){
	for(int next=now+1;next<=min(N,now+2);next++){
		if(safe[next]){
			dp[next]+=dp[now];
			dp[next]%=mod;
		}
	}
}

cout<<dp[n];
return 0;
}
