#include <bits/stdc++.h>
using namespace std;
const int inf = 1 << 30;
const long long INF = 1ll << 55;
const double pi = acos(-1);
const double eps = 1e-8;
const long long mod = 1e9 + 7;
const int dx[4] = {-1, 0, 1, 0}, dy[4] = {0, -1, 0, 1};
int n, k;
string s;
int main() {
  cin >> n >> k >> s;
  char c = (char)('z' + 1);
  int m, I = 0;
  string s_ = s;
  reverse(s_.begin(), s_.end());
  s += s_ + '#';
  for (int i = 1; i <= 2 * n; i++)
    if (s[i] != s[i - 1]) {
      if (s[I] < c)
        c = s[i], m = i - I;
      else if (s[I] == c && i - I > m)
        m = i - I;
      I = i;
    }
  string res;
  res += (char)('z' + 1);
  int M = min(n, (k >= 14 ? n : m * (1 << (k - 1))));
  if (k >= 14) {
    string t(M, c);
    cout << t << endl;
    return 0;
  } else
    assert(0);
  for (int i = 0; i < n; i++)
    if (s.substr(i, m) == string(m, c)) {
      string t(M, c);
      for (int j = 0; j < n - M; j++) t += s[i + j + m];
      res = min(res, t);
    }
  cout << res << endl;
}
