func_code_string: #include <bits/stdc++.h>   using namespace std;   const int maxn = 2e5 + 5;   const int maxm = 1e6 + 10;   const int mod = 1e9 + 7;   queue<string> que;   string str;   set<string> se;   int ans, n, k;   void bfs() {     if (k - 1 == 0) return;     que.push(str);     while (que.size()) {       string now = que.front();       que.pop();       for (int i = 0; i < now.size(); i++) {         string zz =   ;         for (int j = 0; j < now.size(); j++)           if (j != i) zz += now[j];         if (se.find(zz) == se.end()) {           se.insert(zz);           que.push(zz);           ans += (n - zz.size());           if (se.size() == k - 1) return;         }       }     }   }   int main() {     scanf( %d %d , &n, &k);     cin >> str;     bfs();     if (se.size() == k - 1)       printf( %d n , ans);     else       printf( -1 n );     return 0;   }   