#include <bits/stdc++.h>
using namespace std;
int f1, f2, p1, p2;
inline bool check(long long int x) {
  long long int F1 = x / p1;
  long long int F2 = x / p2;
  long long int F12 = x / (p1 * p2);
  long long int ostali = x - F1 - F2 + F12;
  F1 = F1 - F12;
  F2 = F2 - F12;
  long long int t1 = f1 - F2;
  long long int t2 = f2 - F1;
  if (t1 < 0) t1 = 0;
  if (t2 < 0) t2 = 0;
  return (t1 + t2 <= ostali);
}
int main() {
  cin >> f1 >> f2 >> p1 >> p2;
  long long int lo = 0;
  long long int hi = 1e18;
  long long int mid;
  while (lo + 1 < hi) {
    mid = (hi + lo) / 2;
    if (check(mid))
      hi = mid;
    else
      lo = mid;
  }
  cout << hi;
  return 0;
}
