#include <bits/stdc++.h>
using namespace std;
template <class T>
string toStr(const T &x) {
  stringstream s;
  s << x;
  return s.str();
}
template <class T>
int toInt(const T &x) {
  stringstream s;
  s << x;
  int r;
  s >> r;
  return r;
}
const double pi = acos(-1);
const double Pi2 = acos(0);
struct point {
  double x, y;
  point() {}
  point(double X, double Y) : x(X), y(Y) {}
  point sub(point a) { return point(x - a.x, y - a.y); }
  point add(point a) { return point(x + a.x, y + a.y); }
  double cross(point a) { return x * a.y - y * a.x; }
  point multbyscalar(double ua) { return point(ua * x, ua * y); }
};
int lucky(string cad) {
  for (int i = 0; i < cad.size(); ++i)
    if (cad[i] != '4' and cad[i] != '7') return 0;
  return 1;
}
int main() {
  int n, x, y;
  cin >> n >> x >> y;
  int pin = 1;
  n >>= 1;
  if ((x == n or x == n + 1) and (y == n or y == n + 1)) pin = 0;
  if (pin)
    cout << "YES" << endl;
  else
    cout << "NO" << endl;
  return 0;
}
