#include <bits/stdc++.h>
using namespace std;
void print(set<int> M) {
  for (set<int>::iterator it = M.begin(); it != M.end(); it++)
    cout << *it << " ";
  cout << endl;
}
void print(vector<int> M) {
  for (vector<int>::iterator it = M.begin(); it != M.end(); it++)
    cout << *it << " ";
  cout << endl;
}
bool testNr(int a, int b, int c) {
  if (abs(a - b) > 2) return false;
  if (abs(a - c) > 2) return false;
  if (abs(b - c) > 2) return false;
  return true;
}
bool alg(vector<int> &V) {
  for (vector<int>::iterator it = V.begin() + 2; it != V.end(); it++) {
    if (testNr(*it, *(it - 1), *(it - 2))) return true;
  }
  return false;
}
int main() {
  set<int> M;
  int n, k;
  cin >> n;
  for (int i = 0; i < n; i++) {
    cin >> k;
    M.insert(k);
  }
  vector<int> V;
  for (set<int>::iterator it = M.begin(); it != M.end(); it++) {
    V.push_back(*it);
  }
  if (V.size() < 3)
    cout << "NO";
  else if (alg(V))
    cout << "YES";
  else
    cout << "NO";
  return 0;
}
