#include using namespace std; const long long INF = 1LL << 60; int main(){ ios::sync_with_stdio(false); cin.tie(nullptr); int n, m, k; cin >> n >> m >> k; vector c(n), a(m); for(int i = 0; i < n; i++){ cin >> c[i]; c[i]--; } for(int i = 0; i < m; i++){ cin >> a[i]; } vector cost(m); for(int i = 0; i < m; i++){ cost[i] = a[i] * k; } for(int i = 0; i < k; i++){ cost[c[i]] -= a[c[i]]; } long long ans = INF; for(int i = 0; i < m; i++){ ans = min(ans, cost[i]); } for(int i = 0; i < n - k; i++){ cost[c[i]] += a[c[i]]; cost[c[i + k]] -= a[c[i + k]]; ans = min(ans, cost[c[i + k]]); } cout << ans << endl; }