#include <bits/stdc++.h>
using namespace std;
queue<string> q;
map<string, bool> used;
int main() {
  string s;
  int n, k;
  cin >> n >> k;
  cin >> s;
  q.push(s);
  while (!q.empty()) {
    if (used.size() >= k) {
      break;
    }
    string v = q.front();
    q.pop();
    if (used.count(v)) {
      continue;
    }
    used[v] = true;
    for (int i = 1; i <= v.size(); i++) {
      if (used.size() >= k) {
        break;
      }
      q.push(v.substr(0, i - 1) + v.substr(i, v.size()));
    }
  }
  int ans = 0;
  for (auto c : used) {
    ans += (s.size() - c.first.size());
  }
  if (used.size() < k) {
    cout << -1 << endl;
  } else {
    cout << ans << endl;
  }
}
