#include <bits/stdc++.h>
using namespace std;
int inf = (1e9) + 7;
int mod = 998244353;
int main() {
  long long c1, c2, p1, p2;
  long long lc = p1 * p2;
  cin >> c1 >> c2 >> p1 >> p2;
  long long l = 1;
  long long r = 1e18;
  while (r > l + 1) {
    long long mid = (l + r) / 2;
    long long a1 = mid - mid / p1;
    long long a2 = mid - mid / p2;
    long long so_meu = min(mid / p2 - mid / lc, c1);
    long long comp = c1 - so_meu;
    if (c1 <= a1 and c2 <= a2 - comp) {
      r = mid;
    } else {
      l = mid + 1;
    }
  }
  long long a1 = l - l / p1;
  long long a2 = l - l / p2;
  long long so_meu = min(l / p2 - l / lc, c1);
  long long comp = c1 - so_meu;
  if (c1 <= a1 and c2 <= a2 - comp) {
    r = l;
  }
  printf("%lld\n", r);
}
