#include using namespace std; int main(){ int N,M; long long K; cin >> N >> M >> K; long long C[N+1]; long long A[M+1]; for(int i=1;i<=N;i++){ cin >> C[i]; } for(int i=1;i<=M;i++){ cin >> A[i]; } long long cnt[M+1]; for(int i=1;i<=M;i++){ cnt[i]=0; } for(int i=1;i<=K;i++){ cnt[C[i]]++; } long long dp[M+1]; for(int i=1;i<=M;i++){ dp[i]=(K-cnt[i])*A[i]; } long long ans[M+1]; for(int i=1;i<=M;i++){ ans[i]=dp[i]; } for(int i=K+1;i<=N;i++){ dp[C[i]]-=A[C[i]]; dp[C[i-K]]+=A[C[i-K]]; ans[C[i]]=min(ans[C[i]],dp[C[i]]); } long long MIN=1e18; for(int i=1;i<=M;i++){ MIN=min(ans[i],MIN); } cout << MIN << endl; }