#include<bits/stdc++.h>
using namespace std;
int node(int n,int m,int maxx,int minn){
int ans=0;
while((n>=maxx&&m>=minn)||(n>=minn&&m>=maxx)){
int npp=0;
if(n>m){
npp=n/2/maxx;
n-=npp*maxx;
m-=npp*minn;
}else if(n<m){
npp=m/2/maxx;
n-=npp*minn;
m-=npp*maxx;
}else {
npp=n/2/maxx;
n-=npp*maxx;
m-=npp*minn;
}
ans+=npp;
}
return ans;
}
int main( ){
ios::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
int n,m,a,b;
cin>>n>>m>>a>>b;
int maxx=max(a,b);
int minn=min(a,b);
cout<<node(n,m,maxx,minn)<<'\n';
return 0;
}
TLE:1 3 6 7 8 10 15 18 19 20
WA:2 13 14 16 17
AC:4 5 9 11 12