#include <bits/stdc++.h>
int sf(const void* a, const void* b) {
  return *((const int*)a) - *((const int*)b);
}
int main() {
  int i;
  int n, m;
  int a[3000];
  scanf("%d%d", &n, &m);
  for (i = 0; i < m; i++) scanf("%d", &a[i]);
  qsort(a, m, sizeof(a[0]), sf);
  if (a[0] == 1 || a[m - 1] == n)
    printf("NO");
  else {
    for (i = 1; i < m - 1; i++)
      if (a[i] == a[i - 1] + 1 && a[i] == a[i + 1] - 1) break;
    if (i < m - 1)
      printf("NO");
    else
      printf("YES");
  }
  return 0;
}
