#include <bits/stdc++.h>
using namespace std;
int N, M;
set<int> A;
int memo[10000];
bool vis[10000];
int mod = 1000000007;
int go(int pos) {
  if (pos > N) {
    return 0;
  }
  if (A.count(pos)) {
    return 0;
  }
  if (pos == N) {
    return 1;
  }
  if (vis[pos]) {
    return memo[pos];
  }
  int res = 0;
  res += go(pos + 1) % mod;
  res += go(pos + 2) % mod;
  res %= mod;
  memo[pos] = res;
  vis[pos] = 1;
  return res;
}
int main() {
  cin >> N >> M;
  int k;
  for (int i = 0; i < M; i++) {
    cin >> k;
    A.insert(k);
  }
  cout << go(0);
  return 0;
}
