#include <bits/stdc++.h>
using namespace std;
using ll = long long;
int n, T, R, d, e, C[6], P[505][6], W[6];
namespace Subtask12 {
void solve() {
W[0] = 1;
for (int i = 0; i < n; i++) W[i + 1] = W[i] * (C[i] + 1);
int S = W[n];
vector<ll> dp(S, -1);
dp[0] = T;
for (int r = 0; r < R; r++) {
for (int i = 0; i < n; i++) {
ll gain = P[r][i] - e;
if (gain <= 0) continue;
for (int mask = S - 1; mask >= 0; mask--) {
if (dp[mask] == -1) continue;
int it = (mask / W[i]) % (C[i] + 1);
if (it > 0) {
int nmask = mask - W[i];
dp[nmask] = max(dp[nmask], dp[mask] + gain);
}
}
}
for (int i = 0; i < n; i++) {
ll cost = P[r][i] + d;
for (int mask = 0; mask < S; mask++) {
if (dp[mask] == -1) continue;
int it = (mask / W[i]) % (C[i] + 1);
if (it < C[i] && dp[mask] >= cost) {
int nmask = mask + W[i];
dp[nmask] = max(dp[nmask], dp[mask] - cost);
}
}
}
}
cout << dp[0] << '\n';
}
}
namespace Subtask3 {
bool check() {
return d == 0 && e == 0;
}
ll ans, best;
void dfs(int r, int i, ll cur, ll sum) {
if (i == n) {
best = max(best, cur + sum);
return;
}
if (P[r + 1][i] <= P[r][i]) {
dfs(r, i + 1, cur, sum);
return;
}
int xmax = min(C[i], (int)(cur / P[r][i]));
for (int x = xmax; x >= 0; x--) {
ll cost = x * P[r][i], gain = x * P[r + 1][i];
dfs(r, i + 1, cur - cost, sum + gain);
}
}
void solve() {
ans = T;
for (int r = 0; r < R - 1; r++) {
ll cost = 0, gain = 0;
for (int i = 0; i < n; i++)
if (P[r + 1][i] > P[r][i]) {
cost += C[i] * P[r][i];
gain += C[i] * P[r + 1][i];
}
if (ans >= cost) ans = ans - cost + gain;
else {
best = ans;
dfs(r, 0, ans, 0);
ans = best;
}
}
cout << ans << '\n';
}
}
void solve() {
cin >> n >> T >> R >> d >> e;
for (int i = 0; i < n; i++) cin >> C[i];
for (int r = 0; r < R; r++)
for (int i = 0; i < n; i++)
cin >> P[r][i];
if (Subtask3::check()) Subtask3::solve();
else Subtask12::solve();
}
int main() {
ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0);
#define TASK "BUSGAME"
if (fopen(TASK".INP", "r")) {
freopen(TASK".INP", "r", stdin);
freopen(TASK".OUT", "w", stdout);
}
int tests = 1; // cin >> tests;
while (tests--) solve();
#ifdef LOCAL
cerr << "\nTime elapsed: " << clock() << " ms.\n";
#endif
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7Cgp1c2luZyBsbCA9IGxvbmcgbG9uZzsKCmludCBuLCBULCBSLCBkLCBlLCBDWzZdLCBQWzUwNV1bNl0sIFdbNl07CgpuYW1lc3BhY2UgU3VidGFzazEyIHsKICAgIHZvaWQgc29sdmUoKSB7CiAgICAgICAgV1swXSA9IDE7CiAgICAgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBuOyBpKyspIFdbaSArIDFdID0gV1tpXSAqIChDW2ldICsgMSk7CiAgICAgICAgaW50IFMgPSBXW25dOwogICAgICAgIHZlY3RvcjxsbD4gZHAoUywgLTEpOwogICAgICAgIGRwWzBdID0gVDsKICAgICAgICBmb3IgKGludCByID0gMDsgciA8IFI7IHIrKykgewogICAgICAgICAgICBmb3IgKGludCBpID0gMDsgaSA8IG47IGkrKykgewogICAgICAgICAgICAgICAgbGwgZ2FpbiA9IFBbcl1baV0gLSBlOwogICAgICAgICAgICAgICAgaWYgKGdhaW4gPD0gMCkgY29udGludWU7CiAgICAgICAgICAgICAgICBmb3IgKGludCBtYXNrID0gUyAtIDE7IG1hc2sgPj0gMDsgbWFzay0tKSB7CiAgICAgICAgICAgICAgICAgICAgaWYgKGRwW21hc2tdID09IC0xKSBjb250aW51ZTsKICAgICAgICAgICAgICAgICAgICBpbnQgaXQgPSAobWFzayAvIFdbaV0pICUgKENbaV0gKyAxKTsKICAgICAgICAgICAgICAgICAgICBpZiAoaXQgPiAwKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGludCBubWFzayA9IG1hc2sgLSBXW2ldOwogICAgICAgICAgICAgICAgICAgICAgICBkcFtubWFza10gPSBtYXgoZHBbbm1hc2tdLCBkcFttYXNrXSArIGdhaW4pOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICAgICBmb3IgKGludCBpID0gMDsgaSA8IG47IGkrKykgewogICAgICAgICAgICAgICAgbGwgY29zdCA9IFBbcl1baV0gKyBkOwogICAgICAgICAgICAgICAgZm9yIChpbnQgbWFzayA9IDA7IG1hc2sgPCBTOyBtYXNrKyspIHsKICAgICAgICAgICAgICAgICAgICBpZiAoZHBbbWFza10gPT0gLTEpIGNvbnRpbnVlOwogICAgICAgICAgICAgICAgICAgIGludCBpdCA9IChtYXNrIC8gV1tpXSkgJSAoQ1tpXSArIDEpOwogICAgICAgICAgICAgICAgICAgIGlmIChpdCA8IENbaV0gJiYgZHBbbWFza10gPj0gY29zdCkgewogICAgICAgICAgICAgICAgICAgICAgICBpbnQgbm1hc2sgPSBtYXNrICsgV1tpXTsKICAgICAgICAgICAgICAgICAgICAgICAgZHBbbm1hc2tdID0gbWF4KGRwW25tYXNrXSwgZHBbbWFza10gLSBjb3N0KTsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgY291dCA8PCBkcFswXSA8PCAnXG4nOyAgIAogICAgfQp9CgpuYW1lc3BhY2UgU3VidGFzazMgewogICAgYm9vbCBjaGVjaygpIHsKICAgICAgICByZXR1cm4gZCA9PSAwICYmIGUgPT0gMDsKICAgIH0KICAgIGxsIGFucywgYmVzdDsKICAgIHZvaWQgZGZzKGludCByLCBpbnQgaSwgbGwgY3VyLCBsbCBzdW0pIHsKICAgICAgICBpZiAoaSA9PSBuKSB7CiAgICAgICAgICAgIGJlc3QgPSBtYXgoYmVzdCwgY3VyICsgc3VtKTsKICAgICAgICAgICAgcmV0dXJuOwogICAgICAgIH0KICAgICAgICBpZiAoUFtyICsgMV1baV0gPD0gUFtyXVtpXSkgewogICAgICAgICAgICBkZnMociwgaSArIDEsIGN1ciwgc3VtKTsKICAgICAgICAgICAgcmV0dXJuOwogICAgICAgIH0KICAgICAgICBpbnQgeG1heCA9IG1pbihDW2ldLCAoaW50KShjdXIgLyBQW3JdW2ldKSk7CiAgICAgICAgZm9yIChpbnQgeCA9IHhtYXg7IHggPj0gMDsgeC0tKSB7CiAgICAgICAgICAgIGxsIGNvc3QgPSB4ICogUFtyXVtpXSwgZ2FpbiA9IHggKiBQW3IgKyAxXVtpXTsKICAgICAgICAgICAgZGZzKHIsIGkgKyAxLCBjdXIgLSBjb3N0LCBzdW0gKyBnYWluKTsKICAgICAgICB9CiAgICB9CiAgICB2b2lkIHNvbHZlKCkgewogICAgICAgIGFucyA9IFQ7CiAgICAgICAgZm9yIChpbnQgciA9IDA7IHIgPCBSIC0gMTsgcisrKSB7CiAgICAgICAgICAgIGxsIGNvc3QgPSAwLCBnYWluID0gMDsKICAgICAgICAgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBuOyBpKyspIAogICAgICAgICAgICAgICAgaWYgKFBbciArIDFdW2ldID4gUFtyXVtpXSkgewogICAgICAgICAgICAgICAgICAgIGNvc3QgKz0gQ1tpXSAqIFBbcl1baV07CiAgICAgICAgICAgICAgICAgICAgZ2FpbiArPSBDW2ldICogUFtyICsgMV1baV07CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIGlmIChhbnMgPj0gY29zdCkgYW5zID0gYW5zIC0gY29zdCArIGdhaW47CiAgICAgICAgICAgIGVsc2UgewogICAgICAgICAgICAgICAgYmVzdCA9IGFuczsKICAgICAgICAgICAgICAgIGRmcyhyLCAwLCBhbnMsIDApOwogICAgICAgICAgICAgICAgYW5zID0gYmVzdDsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICBjb3V0IDw8IGFucyA8PCAnXG4nOwogICAgfQp9Cgp2b2lkIHNvbHZlKCkgewogICAgY2luID4+IG4gPj4gVCA+PiBSID4+IGQgPj4gZTsKICAgIGZvciAoaW50IGkgPSAwOyBpIDwgbjsgaSsrKSBjaW4gPj4gQ1tpXTsKICAgIGZvciAoaW50IHIgPSAwOyByIDwgUjsgcisrKQogICAgICAgIGZvciAoaW50IGkgPSAwOyBpIDwgbjsgaSsrKQogICAgICAgICAgICBjaW4gPj4gUFtyXVtpXTsKICAgIGlmIChTdWJ0YXNrMzo6Y2hlY2soKSkgU3VidGFzazM6OnNvbHZlKCk7CiAgICBlbHNlIFN1YnRhc2sxMjo6c29sdmUoKTsKfQoKaW50IG1haW4oKSB7CiAgICBpb3NfYmFzZTo6c3luY193aXRoX3N0ZGlvKDApOyBjaW4udGllKDApOyBjb3V0LnRpZSgwKTsKCiAgICAjZGVmaW5lIFRBU0sgIkJVU0dBTUUiCiAgICBpZiAoZm9wZW4oVEFTSyIuSU5QIiwgInIiKSkgewogICAgICAgIGZyZW9wZW4oVEFTSyIuSU5QIiwgInIiLCBzdGRpbik7CiAgICAgICAgZnJlb3BlbihUQVNLIi5PVVQiLCAidyIsIHN0ZG91dCk7CiAgICB9CgogICAgaW50IHRlc3RzID0gMTsgLy8gY2luID4+IHRlc3RzOwogICAgd2hpbGUgKHRlc3RzLS0pIHNvbHZlKCk7CgogICAgI2lmZGVmIExPQ0FMCiAgICBjZXJyIDw8ICJcblRpbWUgZWxhcHNlZDogIiA8PCBjbG9jaygpIDw8ICIgbXMuXG4iOwogICAgI2VuZGlmCiAgICByZXR1cm4gMDsKfQ==