#include <bits/stdc++.h>
using namespace std;
long long p[100002];
long long c[100002];
long long id[100002];
bool cmp(long long i, long long j) {
  if (p[i] != p[j]) return p[i] < p[j];
  return i < j;
}
long long ans[100002];
multiset<long long> m;
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(0);
  long long n, k;
  cin >> n >> k;
  long long i;
  for (i = 1; i <= n; i++) cin >> p[i];
  for (i = 1; i <= n; i++) cin >> c[i], id[i] = i;
  sort(id + 1, id + 1 + n, cmp);
  for (i = 1; i <= n; i++) {
    long long in = id[i];
    long long po = p[in];
    long long co = c[in];
    long long tk = k;
    long long ansIn = co;
    auto it = m.rbegin();
    while (true) {
      if (tk == 0 || it == m.rend()) break;
      ansIn += (*it);
      it++;
      tk--;
    }
    m.insert(co);
    ans[in] = ansIn;
  }
  for (i = 1; i <= n; i++) cout << ans[i] << " ";
  return 0;
}
