# 解説を見た。 # round(x)=floor(x+0.5)を見て目から鱗。 # しかし、これは知識として知っていていい内容ですね~。 import sys input = sys.stdin.readline def Floor_sum(N,M,A,B): ANS=0 if A>=M: ANS+=N*(N-1)//2*(A//M) A%=M if B>=M: ANS+=B//M*N B%=M y_max=(A*N+B)//M x_max_divA=y_max*M-B if y_max==0: return ANS else: ANS+=Floor_sum(y_max,A,M,A*N-x_max_divA) return ANS from math import gcd A,B,C,D=map(int,input().split()) GCD=gcd(A,B) A//=GCD B//=GCD GCD=gcd(C,D) C//=GCD D//=GCD if A==C and B==D: print(-1) exit() if A*D