#include <bits/stdc++.h>
using namespace std;
inline void boost() {
  ios_base::sync_with_stdio();
  cin.tie(0);
  cout.tie(0);
}
const long long maxn = 2e5 + 123;
const long long inf = 1e9 + 123;
const long long mod = 1e9 + 7;
const double pi = acos(-1);
vector<long long> v;
long long a[maxn];
int main() {
  boost();
  int n, k;
  cin >> n >> k;
  for (int i = 0; i < n; i++) {
    cin >> a[i];
  }
  string s;
  cin >> s;
  v.push_back(a[0]);
  long long ans = 0;
  for (int i = 1; i < n; i++) {
    if (s[i] == s[i - 1]) {
      v.push_back(a[i]);
    } else {
      sort(v.begin(), v.end());
      reverse(v.begin(), v.end());
      for (int j = 0; j < min(int(v.size()), k); j++) {
        ans += v[j];
      }
      v.clear();
      v.push_back(a[i]);
    }
  }
  sort(v.begin(), v.end());
  reverse(v.begin(), v.end());
  for (int j = 0; j < min(int(v.size()), k); j++) {
    ans += v[j];
  }
  cout << ans;
  return 0;
}
