#include <bits/stdc++.h>
int a[100005];
long long flag = 0;
int n, q;
int check(int i) {
  if (i == n)
    return 1;
  else if (i > n) {
    flag--;
    return 1;
  } else
    return 0;
}
void init(int i) {
  if (check(i)) {
    flag++;
  } else if (a[i + 1] && a[i + 2]) {
    flag = 0;
    return;
  } else {
    int j;
    for (j = 1; j <= 2; j++) {
      if (!a[i + j]) {
        init(i + j);
      }
    }
  }
}
int main() {
  int i;
  scanf("%d%d", &n, &q);
  for (i = 1; i <= q; i++) {
    int m;
    scanf("%d", &m);
    a[m] = 1;
  }
  init(0);
  printf("%lld\n", flag);
}
