#include <bits/stdc++.h>
using namespace std;
set<int> a;
long long cnt = 0;
bool dfs(int here, int N) {
  if (here == N) {
    ++cnt;
    return true;
  }
  if (here > N) return false;
  if (here != 0 && a.find(here) != a.end()) return false;
  dfs(here + 1, N);
  dfs(here + 2, N);
  return false;
}
int main() {
  int N, M;
  cin >> N >> M;
  int _a;
  for (int i = 0; i < M; ++i) {
    cin >> _a;
    a.insert(_a);
  }
  dfs(0, N);
  cout << cnt % 1000000007 << endl;
  return 0;
}
