#include <bits/stdc++.h>
using namespace std;
bool fun(int mid,vector<int>&comp,vector<int>&st,vector<int>&cost,int budget){
int sum=0;
for(int i=0;i<comp.size();i++){
if(st[i]-mid*comp[i]>=0){
sum+=0;
}
else{
sum+=((mid*comp[i]-st[i])*cost[i]);
}
if(sum>budget)return false;//early exit to optimize.
}
return sum<=budget;
}
int main()
{
vector<int>comp={2,2,3,1};
vector<int>st={3,2,1,4};
vector<int>cost={2,3,1,6};
int budget=30;
int ans=0;
int l=0;
int h=100000;
while(l<=h){
int mid=(l+(h-l)/2);
if(fun(mid,comp,st,cost,budget)){
ans=mid;
l=mid+1;
}
else{
h=mid-1;
}
}
cout<<ans<<endl;
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CmJvb2wgZnVuKGludCBtaWQsdmVjdG9yPGludD4mY29tcCx2ZWN0b3I8aW50PiZzdCx2ZWN0b3I8aW50PiZjb3N0LGludCBidWRnZXQpewogICAgaW50IHN1bT0wOwogICAgICAgICAgIGZvcihpbnQgaT0wO2k8Y29tcC5zaXplKCk7aSsrKXsKICAgICAgICAgICAgICAgaWYoc3RbaV0tbWlkKmNvbXBbaV0+PTApewogICAgICAgICAgICAgICAgICAgc3VtKz0wOwogICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgIGVsc2V7CiAgICAgICAgICAgICAgICAgICBzdW0rPSgobWlkKmNvbXBbaV0tc3RbaV0pKmNvc3RbaV0pOwogICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgIGlmKHN1bT5idWRnZXQpcmV0dXJuIGZhbHNlOy8vZWFybHkgZXhpdCB0byBvcHRpbWl6ZS4KICAgICAgICAgICB9CiAgICAgICAgICAgcmV0dXJuIHN1bTw9YnVkZ2V0Owp9CmludCBtYWluKCkKewogICAgCiAgICB2ZWN0b3I8aW50PmNvbXA9ezIsMiwzLDF9OwogICAgdmVjdG9yPGludD5zdD17MywyLDEsNH07CiAgICB2ZWN0b3I8aW50PmNvc3Q9ezIsMywxLDZ9OwogICAgaW50IGJ1ZGdldD0zMDsKICAgIGludCBhbnM9MDsKICAgIGludCBsPTA7CiAgICBpbnQgaD0xMDAwMDA7CiAgICB3aGlsZShsPD1oKXsKICAgICAgICBpbnQgbWlkPShsKyhoLWwpLzIpOwogICAgICAgIGlmKGZ1bihtaWQsY29tcCxzdCxjb3N0LGJ1ZGdldCkpewogICAgICAgICAgICBhbnM9bWlkOwogICAgICAgICAgICBsPW1pZCsxOwogICAgICAgIH0KICAgICAgICBlbHNlewogICAgICAgICAgICBoPW1pZC0xOwogICAgICAgIH0KICAgIH0KICAgIGNvdXQ8PGFuczw8ZW5kbDsKICAgIHJldHVybiAwOwp9