#include<bits/stdc++.h>
using namespace std;

int main() {
    long long A,B,N,M;
    cin >> A >> B >> N >> M;
    long long l = 0,r = 1000000000000000005;
    while (l+1 < r) {
        long long mid = (l+r)/2;
        long long a = 0,b = 0;
        if(A >= mid) {
            a += (A-mid)/N;
        }
        if(B >= mid) {
            b += (B-mid)/M;
        }
        if(A+b >= mid && B+a >= mid) {
            l = mid;
        }
        else {
            r = mid;
        }
    }
    cout << l << endl;
}