#include <bits/stdc++.h>
using namespace std;
int main() {
  int N, M;
  cin >> N >> M;
  vector<int> A(M);
  for (int i = 0; i < M; i++) {
    cin >> A.at(i);
  }
  vector<long> dp(N);
  dp.at(0) = 1;
  dp.at(1) = 2;
  for (int j = 0; j < M; j++) {
    if (0 == A.at(j) - 1) {
      dp.at(0) = 0;
      dp.at(1) = dp.at(0) + 1;
    }
  }
  for (int i = 2; i < N; i++) {
    dp.at(i) = (dp.at(i - 1) + dp.at(i - 2)) % 1000000007;
    for (int j = 0; j < M; j++) {
      if (i == A.at(j) - 1) {
        dp.at(i) = 0;
      }
    }
  }
  cout << dp.at(N - 1) << endl;
}
