#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; }