#include <bits/stdc++.h>
#include <iomanip>
#include <unordered_map>
using namespace std;
using ll = long long;
#define rep(i, n) for (int i = 0; i < (int)(n); i++)

int main() {
  int n, m;
  cin >> n >> m;

  vector<int> oks(N+1, true);
  for(int i=0; i<m; i++) {
    int a; cin>>a;
    oks[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(oks[next]){
        dp[next]+=dp[now];
        dp[next]%=10000000007;
      }
    }
  }
  cout << dp[n] << endl;
}
