#include <bits/stdc++.h>
using namespace std;
int a, x, y, andar;
int PD[1000040];
int calc(int andar) {
  if (PD[andar] != -1) return PD[andar];
  if (andar % 2 == 0) return PD[andar] = calc(andar - 1) + 1;
  if (andar % 2 == 1) return PD[andar] = calc(andar - 1) + 2;
  return 0;
}
int main() {
  memset(PD, -1, sizeof(PD));
  PD[1] = 2;
  PD[2] = 3;
  scanf("%d %d %d", &a, &x, &y);
  if (y % a == 0) {
    printf("-1\n");
    return 0;
  }
  andar = y / a;
  if (andar == 0) {
    if ((double)x > (double)(-((double)a / 2)) and
        (double) x < (double)((double)a / 2.0))
      printf("1\n");
    else
      printf("-1\n");
    return 0;
  }
  if (andar % 2 == 0) {
    if (x > -a and x < 0)
      printf("%d\n", calc(andar));
    else if (x > 0 and x < a)
      printf("%d\n", calc(andar) + 1);
    else
      printf("-1\n");
  } else {
    if ((double)x > (double)(-((double)a / 2)) and
        (double) x < (double)((double)a / 2.0))
      printf("%d\n", calc(andar));
    else
      printf("-1\n");
  }
  return 0;
}
