#include <bits/stdc++.h>
using namespace std;
const long long MX = 2e5 + 3;
long long n, k, arr[MX], sum;
multiset<long long> st;
string s;
int32_t main() {
  ios::sync_with_stdio(0);
  cin.tie(0);
  cout.tie(0);
  cin >> n >> k;
  for (long long i = 0; i < n; i++) cin >> arr[i];
  cin >> s;
  st.insert(-arr[0]);
  for (long long i = 1; i < n; i++) {
    if (s[i] == s[i - 1])
      st.insert(-arr[i]);
    else {
      long long a = 0;
      for (auto u : st) {
        if (a == k) break;
        sum -= u;
        a++;
      }
      st.clear();
      st.insert(-arr[i]);
    }
  }
  long long a = 0;
  for (auto u : st) {
    if (a == k) break;
    sum -= u;
    a++;
  }
  cout << sum << endl;
  return 0;
}
