N, D, K = map(int, input().split()) A = list(map(int, input().split())) C = list(map(int, input().split())) #dp[i][j][k] = the maximum satisfaction for beauty >= j in {1,...,i} and choosing k problems #If we choose i+1, then j -> j - beauty_i+1, k -> k-1 #if we dont, then j -> j, j -> j #dp[i+1][j][k] = max(dp[i][j-beauty_i+1][k-1], dp[i][j][k]) dp = [[[-float("inf") for _ in range(D)] for _ in range(K)] for _ in range(N)] for k in range(D): for j in range(K): dp[k][j][k] = sum(A[:k+1]) if sum(C[:k+1]) >= j+1 else -float("inf") for i in range(N-1): for j in range(K): for k in range(D): dp[i+1][j][k] = max(A[i+1] + dp[i][j-C[i+1]][k-1], dp[i][j][k]) if dp[N-1][K-1][D-1] == -float("inf"): print('No') else: print(dp[N-1][K-1][D-1])