a,b,n,m=map(int,input().split()) L=-1;R=10**18+1 while R-L>1: x=(L+R)//2 f=0 if x<=a and x<=b: f=1 elif x<=a and x>b: if b+(a-x)//n>=x: f=1 elif x>a and x<=b: if a+(b-x)//m>=x: f=1 if f==0: R=x else: L=x print(L)