#include <bits/stdc++.h>
using namespace std;
long long arr[1000000 + 20];
long long tmp[1000000 + 20];
long long binarySearch(long long goal, long long s, long long e);
int main() {
  long long a, x, y;
  cin >> a >> x >> y;
  long long atmp = a;
  arr[0] = 1;
  tmp[0] = 0;
  for (int i = 1; i < 1000000 + 20 - 3; i++) {
    arr[i] = (((i + 1) % 2) + 1);
    tmp[i] = atmp;
    atmp += a;
  }
  long long ind = binarySearch(y, 0, 1000000 + 20 - 3);
  long long ans = 0;
  if (y == tmp[ind] || ind == -1) {
    cout << -1;
    return 0;
  }
  if (arr[ind] > arr[ind + 1]) {
    if (x != 0 && x > -a && x < a) {
      for (int i = 0; i <= ind; i++) ans += arr[i];
      if (x < 0) ans--;
      cout << ans;
      return 0;
    }
    cout << -1;
    return 0;
  } else {
    long double ad = double(a) / 2;
    if (x > -ad && x < ad) {
      for (int i = 0; i <= ind; i++) ans += arr[i];
      cout << ans;
      return 0;
    }
    cout << -1;
    return 0;
  }
}
long long binarySearch(long long goal, long long s, long long e) {
  long long mid = (s + e) / 2;
  if (mid > e) return -1;
  if (goal >= tmp[mid] && goal < tmp[mid + 1]) return mid;
  if (goal > tmp[mid]) return binarySearch(goal, mid, e);
  if (goal < tmp[mid]) return binarySearch(goal, s, mid);
}
