#include typedef long long ll; typedef std::pair P; typedef std::priority_queue, std::greater

> PQ; int main() { long long n, d, k; std::cin >> n >> d >> k; std::vector a(n), c(n); for (int i = 0; i < n; ++i) { std::cin >> a[i]; } for (int i = 0; i < n; ++i) { std::cin >> c[i]; } std::vector> dp(d + 1, std::vector(k + 1, -1e15)); dp[0][0] = 0; for (int i = 0; i < n; ++i) { for (int j = d - 1; j >= 0; --j) { for (int l = k; l >= 0; --l) { dp[j + 1][std::min(l + c[i], k)] = std::max(dp[j + 1][std::min(l + c[i], k)], dp[j][l] + a[i]); } } } if (dp[d][k] < -1e14) std::cout << "No" << std::endl; else std::cout << dp[d][k] << std::endl; }