#include <bits/stdc++.h>
using namespace std;
long long solve(int x, int y, int a, int b) {
  long long ans, s = 0, e = LLONG_MAX, c1, c2, c3;
  while (s < e) {
    ans = (s & e) + ((s ^ e) >> 1);
    c1 = a - ans / y + ans / (x * y);
    c1 = (c1 < 0) ? 0 : c1;
    c2 = b - ans / x + ans / (x * y);
    c2 = (c2 < 0) ? 0 : c2;
    c3 = ans - ans / x - ans / y + ans / (x * y) - c1 - c2;
    if (c3 >= 0)
      e = ans;
    else
      s = ans + 1;
  }
  return s;
}
int main() {
  int x, y, a, b;
  cin >> a >> b >> x >> y;
  cout << solve(x, y, a, b) << "\n";
  return 0;
}
