#include <algorithm>
#include <iostream>
#include <map>
#include <math.h>
#include <queue>
#include <set>
#include <string>
#include <utility>
#include <vector>

using namespace std;
#define rep(i, n) for (int i = 0; i < n; i++)
#define rep1(i, n) for (int i = 1; i < n + 1; i++)
#define all(A) A.begin(), A.end()
typedef long long ll;

int main() {
  ll a,b,n,m;
  cin >> a >> b >> n >> m;
  ll ans = 0;
  ans += min(a,b);
  a -= ans;
  b -= ans;
  if(a>0){
    cout << ans+a/(n+1) << endl;
  }else{
    cout << ans+b/(m+1) << endl;
  }
}