#include <bits/stdc++.h>
using namespace std;
int dx4[4] = {1, 0, -1, 0};
int dy4[4] = {0, -1, 0, 1};
int dx8[8] = {1, 0, -1, 1, -1, 1, 0, -1};
int dy8[8] = {1, 1, 1, 0, 0, -1, -1, -1};
const int INF = 1e9;
const long long LLINF = 1e18;
const int MAX_V = 1e6 + 1;
const long long mod = 1000000007;
int n, m;
bool a[100001];
long long d[1000001];
long long rec(int i) {
  long long sum = 0;
  if (i == n)
    return 1;
  else if (i > n)
    return 0;
  if (a[i]) {
    if (d[i] > 0) {
      sum = d[i];
    } else {
      sum += rec(i + 1);
      sum += rec(i + 2);
    }
  } else {
    return 0;
  }
  d[i] = sum % mod;
  return d[i];
}
int main() {
  cin.tie(0);
  ios::sync_with_stdio(false);
  fill(a, a + 100000, true);
  fill(d, d + 100001, 0);
  cin >> n >> m;
  for (int i = 0; i < (int)(m); i++) {
    int b;
    cin >> b;
    a[b] = false;
  }
  cout << rec(0) << endl;
}
