N, D, K = map(int, input().split()) A = list(map(int, input().split())) C = list(map(int, input().split())) INF = 1<<62 DP = [[[-INF]*(D+1) for _ in range(K+1)] for _ in range(N+1)] DP[0][0][0] = 0 SC = sorted(C, reverse=True) if sum(SC[:D]) < K: print("No") exit() for i in range(N): a, c = A[i], C[i] for j in range(K+1): for k in range(D+1): DP[i+1][j][k] = max(DP[i+1][j][k], DP[i][j][k]) if k == D: continue DP[i+1][min(K, j+c)][k+1] = max(DP[i+1][min(K, j+c)][k+1], DP[i][j][k]+a) print(DP[N][K][D])