#include <bits/stdc++.h>
using namespace std;
bool p[1000000] = {0};
void primeFacTillN(long n) {
  p[0] = 1;
  p[1] = 1;
  int i = 0;
  for (int i = 2; i <= n; i++) {
    if (!p[i]) {
      for (int j = 2 * i; j <= n; j += i) p[j] = 1;
    }
  }
}
long long baseN(long long a, long long n) {
  if (a < n)
    return a;
  else {
    return (a % n + 10 * baseN((a / n), n));
  }
}
long long binarySearch(long long a[], long long l, long long h, long long k) {
  while (l <= h) {
    long long mid = (l + h) >> 1;
    if (a[k] > mid)
      l = mid + 1;
    else if (a[k] < mid)
      h = mid - 1;
    else
      return mid;
  }
  return -1;
}
long long GCD(long long A, long long B) {
  if (B == 0)
    return A;
  else
    return GCD(B, A % B);
}
int main() {
  long long n;
  cin >> n;
  long long a[n];
  long long i;
  long long b[1001] = {0};
  vector<long> v;
  for (i = 0; i < n; i++) {
    cin >> a[i];
    if (!b[a[i]]) {
      v.push_back(a[i]);
      b[a[i]] = 1;
    }
  }
  sort(v.begin(), v.end());
  long long flag = 0;
  if (v.size() == 1) {
    cout << "NO\n";
    return 0;
  }
  for (i = 0; i < v.size() - 2; i++) {
    if (v[i + 1] == v[i] + 1 && v[i + 2] == v[i] + 2) flag = 1;
  }
  if (flag)
    cout << "YES\n";
  else
    cout << "NO\n";
  return 0;
}
