import strutils const INF = int(1e9) + 100 var d = stdin.readLine.parseInt h1 = stdin.readLine.parseInt h2 = stdin.readLine.parseInt h3 = stdin.readLine.parseInt proc bye(x: int) = echo(x); quit 0 proc ok(x, y, z: int): bool = var ok1 = x > y and y < z ok2 = x < y and y > z result = x != z and (ok1 or ok2) proc count(my, your, d: int): int = if your == 0: return INF if my < your: return 0 result = (my - your + d) div d proc cut(my, d, times: int): int = result = max(0, my-d*times) if ok(h1, h2, h3): bye(0) if d == 0: bye(-1) var x, y, z, p, q: int var r1 = 0 x = h1 y = h2 z = h3 if x == z: x = cut(x, d, 1) r1 += 1 p = count(x, y, d) r1 += p x = cut(x, d, p) q = count(z, y, d) r1 += q z = cut(z, d, q) if not ok(x, y, z): r1 = INF var r2 = 0 x = h1 y = h2 z = h3 if x == z: x = cut(x, d, 1) r2 += 1 p = count(y, x, d) r2 += p y = cut(y, d, p) q = count(y, z, d) r2 += q y = cut(y, d, q) if not ok(x, y, z): r2 = INF var res = min(r1, r2) if res >= INF: res = -1 echo res