#include <bits/stdc++.h>
using namespace std;
long long patarn(int p) {
  if (p < 0) {
    return 0;
  } else if (p == 1 || p == 0) {
    return 1;
  } else {
    return patarn(p - 1) + patarn(p - 2);
  }
}
int main() {
  int N, M;
  cin >> N >> M;
  long long ans;
  if (M == 0) {
    ans = patarn(N);
  } else {
    int a[M];
    cin >> a[0];
    ans = patarn(a[0] - 1);
    if (M > 1) {
      for (int i = 1; i < M; i++) {
        cin >> a[i];
        ans *= patarn(a[i] - a[i - 1] - 2);
        ans %= 1000000007;
        if (ans == 0) {
          break;
        }
      }
    }
    ans *= patarn(N - a[M - 1] - 1);
  }
  ans %= 1000000007;
  cout << ans;
}
