#include <bits/stdc++.h>
using namespace std;
vector<bool> flag(10001, true);
vector<long long> mem(10001, -1);
long long dp(int n) {
  if (n < 0) {
    return 0;
  }
  if (n == 0) {
    return 1;
  }
  if (!flag[n]) {
    return 0;
  }
  if (mem[n] != -1) {
    return mem[n];
  }
  long long sum = dp(n - 1) + dp(n - 2);
  sum %= 1000000007;
  mem[n] = sum;
  return sum;
}
int main() {
  cin.tie(nullptr);
  ios_base::sync_with_stdio(false);
  int n, m;
  cin >> n >> m;
  for (int i = 1; i <= m; i++) {
    int a;
    cin >> a;
    flag[a] = false;
  }
  cout << dp(n) << "\n";
  return 0;
}
