#include <bits/stdc++.h>
using namespace std;
long long $(long long a, long long b) {
  if (a % b == 0)
    return a / b;
  else
    return a / b + 1;
}
signed main() {
  long long a, b, e = 0, f = 0, g = 0;
  cin >> a >> b;
  vector<long long> c(a + 1, 0), d(b + 2, 0);
  for (long long i = 0; i < b; i++) cin >> d[i];
  c[0] = 1;
  for (long long i = 0; i < a; i++) {
    long long t = c[i];
    if (i == d[g]) {
      g++;
      continue;
    }
    if (i + 1 == d[g]) e = 1;
    if (i + 2 == d[g]) f = 1;
    if (i + 2 == d[g + 1]) f = 2;
    if (e == 1 && f == 2) {
      c[a] = 0;
      break;
    }
    if (e == 0 && i + 1 < a + 1) {
      c[i + 1] += t;
      c[i + 1] = c[i + 1] % 1000000007;
    }
    if (f != 1 && i + 2 < a + 1) {
      c[i + 2] += t;
      c[i + 2] = c[i + 2] % 1000000007;
    }
    e = 0;
    f = 0;
  }
  cout << c[a] << endl;
}
