a,b,n,m=map(int,input().split()) ok=0 ng=10**20 while abs(ok-ng)>1: num=(ok+ng)//2 if num<=a: a1=num b1=b+(a-num)//n else: if num<=b: b1=num a1=a+(b-num)//m else: b1=0 a1=0 if min(b1,a1)>=num: ok=num else: ng=num print(ok)