#include <bits/stdc++.h>
long pat(int sub) {
  if (sub == 1)
    return 0;
  else if (sub == 2)
    return 1;
  else
    return pat(sub - 1) + pat(sub - 2);
}
int main() {
  int N, M, a[100000];
  int i;
  long long tot;
  scanf("%d %d", &N, &M);
  for (i = 1; i <= M; i++) {
    scanf("%d", &a[i]);
  }
  a[0] = -1;
  a[M + 1] = N + 1;
  tot = 1;
  for (i = 1; i <= M + 1; i++) {
    tot *= pat(a[i] - a[i - 1]);
  }
  tot %= 1000000007;
  printf("%d", tot);
}
