#include <bits/stdc++.h>
using namespace std;
typedef long long LL;
int n,m,x,y;
bool check(LL h)
{
LL a=h/y-h/x/y;
LL b=h/x-h/x/y;
LL c=h-h/x-h/y+h/x/y;
LL s1=max(0LL,n-a),s2=max(0LL,m-b);
return s1+s2<=c;
}
int main()
{
scanf("%d%d%d%d",&n,&m,&x,&y);
LL l=1,r=6e9;
while(l<r)
{
LL mid=l+r>>1;
if(check(mid)) r=mid;
else l=mid+1;
}
printf("%lld\n",r);
return 0;
}