#include using namespace std; void fast_io() { ios::sync_with_stdio(false); std::cin.tie(nullptr); } int main() { fast_io(); int n, d, k; cin >> n >> d >> k; vector a(n), c(n); for (int i = 0; i < n; i++) { cin >> a[i]; } for (int i = 0; i < n; i++) { cin >> c[i]; } vector dp(2, vector(d + 1, vector(k + 1, -1e18))); dp[0][0][0] = 0; for (int i = 0; i < n; i++) { for (int j = 0; j <= d; j++) { for (int l = 0; l <= k; l++) { dp[(i + 1) % 2][j][l] = max(dp[(i + 1) % 2][j][l], dp[i % 2][j][l]); if (j < d) { dp[(i + 1) % 2][j + 1][min(l + c[i], (long long)k)] = max(dp[(i + 1) % 2][j + 1][min(l + c[i], (long long)k)], dp[i % 2][j][l] + a[i]); } } } } if (dp[n % 2][d][k] < -1e15) { cout << "No" << endl; return 0; } cout << dp[n % 2][d][k] << endl; }