#include<bits/stdc++.h>
#define ll long long
using namespace std;
ll n,m,a,b,mid,l,r,maxx=0;
bool check(ll x){
ll xa=x*a,xb=x*b;
if(xa>n){
ll step=(xa-n+a-b-1)/(a-b);
xa-=step*(a-b);
xa+=step*(a-b);
}
if(xa<=n&&xb<=m){
return true;
}
return false;
}
int main() {
scanf("%lld%lld%lld%lld",&n,&m,&a,&b);
if(n<m){
swap(n,m);
}
if(a<b){
swap(a,b);
}
l=0,r=n;
while(l<=r){
mid=l+(r-l)/2;
if(check(mid)){
maxx=max(maxx,mid);
l=mid+1;
continue;
}
r=mid-1;
}
printf("%lld",maxx);
return 0;
}