#include <bits/stdc++.h>
using namespace std;
template <class T>
T _abs(T n) {
  return (n < 0 ? -n : n);
}
template <class T>
T _max(T a, T b) {
  return (!(a < b) ? a : b);
}
template <class T>
T _min(T a, T b) {
  return (a < b ? a : b);
}
template <class T>
T sq(T x) {
  return x * x;
}
template <class T>
T gcd(T a, T b) {
  return (b != 0 ? gcd<T>(b, a % b) : a);
}
template <class T>
T lcm(T a, T b) {
  return (a / gcd<T>(a, b) * b);
}
template <class T>
bool inside(T a, T b, T c) {
  return a <= b && b <= c;
}
const double EPS = 1e-9;
const int INF = 0x7f7f7f7f;
const int MAXN = 5000000;
const double PI = acos(-1.0);
int main() {
  int a, x, y, ans;
  cin >> a >> x >> y;
  if (x >= a || x <= -a || y % a == 0 || y <= 0)
    cout << "-1" << endl;
  else if (x < (a + 1) / 2 && x > -((a + 1) / 2) && y < a)
    cout << "1" << endl;
  else {
    y -= a;
    if ((y / a + 1) % 2) {
      if (x < (a + 1) / 2 && x > -((a + 1) / 2)) {
        ans = y / a / 2 * 3 + 2;
        cout << ans << endl;
      } else
        cout << "-1" << endl;
    } else {
      if (x > 0) {
        ans = (y / a + 1) / 2 * 3 + 1;
        cout << ans << endl;
      } else if (x < 0) {
        ans = (y / a + 1) / 2 * 3;
        cout << ans << endl;
      } else
        cout << "-1" << endl;
    }
  }
  return 0;
}
