#include<bits/stdc++.h>
typedef long long ll
using namespace std ;
 
int main() {
    int N;
    cin>>N;
    int M;
    cin>>M;
    unordered_set<int> ob;
    vector<ll> dp(N); 
    for(int i=0;i<M;i++){
       	int tmp;
        cin>>tmp;
        ob.insert(tmp);
    }
  	dp[0]=1;
    dp[1]=ob.count(1)>0?0:1;
    for(int i=2;i<N;i++){
    	if(ob.count(i)>0)
          dp[i]=0;
      	else{
        	dp[i]=dp[i-1]+dp[i-2]
        }
    }
  	cout<<(dp.back()%1000000007)<<endl;
    return 0;
}