def floor_sum(n, m, a, b) : ans = 0 while n > 0 : if a >= m : ans += a // m * (n * (n-1) // 2) a %= m if b >= m : ans += b // m * n b %= m y_max = a * n + b if y_max < m : return ans n = y_max // m b = y_max % m y_max = a a = m m = y_max return ans a,b,c,d = map(int,input().split()) if a * d < c * b : a,b,c,d = c,d,a,b if a * d == c * b : print(-1) exit(0) n = b * d // (a * d - b * c) ans = n - floor_sum(n + 1, b*2, a*2, b) + floor_sum(n + 1, d*2, c*2, d) print(ans)