#include using namespace std; template void upmax(T1 &x, T2 v) { if (x < v) x = v; } signed main() { ios::sync_with_stdio(false); int N, M, K; cin >> N >> M >> K; vector A(N + 1); for (int i = 0; i < N + 1; ++i) cin >> A[i]; vector> d(N + 1, vector(M + 1)); d[0][0] = K; for (int i = 1; i <= N; ++i) { for (int j = 0; j <= M; ++j) { upmax(d[i][j], d[i - 1][j]); if (j) { for (int k = 0; k < i; ++k) { upmax(d[i][j], d[k][j - 1] % A[k] + d[k][j - 1] / A[k] * A[i]); } } } } cout << *max_element(d[N].begin(), d[N].end()) << endl; return 0; }