#include <bits/stdc++.h>
using namespace std;
long long gcd(long long a, long long b) {
  if (b == 0) return a;
  return gcd(b, a % b);
}
long long vet[257];
int main() {
  long long n, k;
  while (cin >> n >> k) {
    string str;
    cin >> str;
    memset(vet, 0, sizeof vet);
    for (int i = 0; i < int((str).size()); ++i) vet[str[i]]++;
    vector<long long> vec;
    for (int i = 0; i < 257; ++i)
      if (vet[i] > 0) vec.push_back(vet[i]);
    sort((vec).begin(), (vec).end());
    reverse((vec).begin(), (vec).end());
    long long res = 0;
    for (int i = 0; i < int((vec).size()); ++i) {
      if (k < vec[i]) {
        res += k * k;
        break;
      } else {
        res += vec[i] * vec[i];
        k -= vec[i];
      }
    }
    cout << res << endl;
  }
}
