#include <bits/stdc++.h>
using namespace std;
long long MX(long long A,long long B){
  if (A<B) return B;
  else return A;
}
long long MN(long long A,long long B){
  if (A<B) return A;
  else return B;
}
int main() {
  long long A,B,N,M,X,Y;
  cin >> A >> B >> N >> M;
  X = MN(A,B)+(B-MN(A,B))/(M+1);
  Y = MN(A,B)+(A-MN(A,B))/(N+1);
  cout << MX(X,Y) << endl;
}