#include <bits/stdc++.h>
using namespace std;
using ll = long long;
long long findMaximumAlloyUnits(vector<int> composition,
vector<int> stock,
vector<int> cost,
int budget) {
int n = composition.size();
ll low = 0, high = 1000000000LL;
ll ans = 0;
while (low <= high) {
ll mid = low + (high - low) / 2;
ll sum = 0;
for (int i = 0; i < n; i++) {
ll need = 1LL * composition[i] * mid;
ll extra = max(0LL, need - stock[i]);
sum += extra * cost[i];
if (sum > budget)
break;
}
if (sum <= budget) {
ans = mid;
low = mid + 1;
} else {
high = mid - 1;
}
}
return ans;
}
int main() {
int n;
cin >> n;
vector<int> composition(n), stock(n), cost(n);
for (int i = 0; i < n; i++)
cin >> composition[i];
for (int i = 0; i < n; i++)
cin >> stock[i];
for (int i = 0; i < n; i++)
cin >> cost[i];
int budget;
cin >> budget;
cout << findMaximumAlloyUnits(composition, stock, cost, budget);
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7Cgp1c2luZyBsbCA9IGxvbmcgbG9uZzsKCmxvbmcgbG9uZyBmaW5kTWF4aW11bUFsbG95VW5pdHModmVjdG9yPGludD4gY29tcG9zaXRpb24sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2ZWN0b3I8aW50PiBzdG9jaywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZlY3RvcjxpbnQ+IGNvc3QsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgYnVkZ2V0KSB7CgogICAgaW50IG4gPSBjb21wb3NpdGlvbi5zaXplKCk7CgogICAgbGwgbG93ID0gMCwgaGlnaCA9IDEwMDAwMDAwMDBMTDsKICAgIGxsIGFucyA9IDA7CgogICAgd2hpbGUgKGxvdyA8PSBoaWdoKSB7CiAgICAgICAgbGwgbWlkID0gbG93ICsgKGhpZ2ggLSBsb3cpIC8gMjsKCiAgICAgICAgbGwgc3VtID0gMDsKCiAgICAgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBuOyBpKyspIHsKCiAgICAgICAgICAgIGxsIG5lZWQgPSAxTEwgKiBjb21wb3NpdGlvbltpXSAqIG1pZDsKICAgICAgICAgICAgbGwgZXh0cmEgPSBtYXgoMExMLCBuZWVkIC0gc3RvY2tbaV0pOwoKICAgICAgICAgICAgc3VtICs9IGV4dHJhICogY29zdFtpXTsKCiAgICAgICAgICAgIGlmIChzdW0gPiBidWRnZXQpCiAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICB9CgogICAgICAgIGlmIChzdW0gPD0gYnVkZ2V0KSB7CiAgICAgICAgICAgIGFucyA9IG1pZDsKICAgICAgICAgICAgbG93ID0gbWlkICsgMTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBoaWdoID0gbWlkIC0gMTsKICAgICAgICB9CiAgICB9CgogICAgcmV0dXJuIGFuczsKfQoKaW50IG1haW4oKSB7CgogICAgaW50IG47CiAgICBjaW4gPj4gbjsKCiAgICB2ZWN0b3I8aW50PiBjb21wb3NpdGlvbihuKSwgc3RvY2sobiksIGNvc3Qobik7CgogICAgZm9yIChpbnQgaSA9IDA7IGkgPCBuOyBpKyspCiAgICAgICAgY2luID4+IGNvbXBvc2l0aW9uW2ldOwoKICAgIGZvciAoaW50IGkgPSAwOyBpIDwgbjsgaSsrKQogICAgICAgIGNpbiA+PiBzdG9ja1tpXTsKCiAgICBmb3IgKGludCBpID0gMDsgaSA8IG47IGkrKykKICAgICAgICBjaW4gPj4gY29zdFtpXTsKCiAgICBpbnQgYnVkZ2V0OwogICAgY2luID4+IGJ1ZGdldDsKCiAgICBjb3V0IDw8IGZpbmRNYXhpbXVtQWxsb3lVbml0cyhjb21wb3NpdGlvbiwgc3RvY2ssIGNvc3QsIGJ1ZGdldCk7CgogICAgcmV0dXJuIDA7Cn0=