#include <bits/stdc++.h>
using namespace std;
const int N = 5e3 + 5;
string ans;
char s[N << 1];
int main() {
  register int n, k, i, j, x, res;
  scanf("%d%d%s", &n, &k, s + 1);
  char c = 'z';
  for (i = 1; i <= n; ++i) c = min(c, s[i]), s[2 * n - i + 1] = s[i];
  if (k >= 14) {
    while (n--) printf("%c", c);
    return 0;
  }
  for (i = n; i <= n << 1; i = j + 1)
    if (s[i] != c)
      j = i;
    else {
      for (j = i; j + 1 <= n << 1 && s[j + 1] == c; ++j)
        ;
      res = (j - i + 1) * (1 << k - 1);
      if (res >= n) {
        while (n--) printf("%c", c);
        return 0;
      }
      if (i - 1 < n - res) continue;
      string now;
      for (x = 1; x <= res; ++x) now += c;
      res = n - res;
      for (x = i - 1; x >= i - res; --x) now += s[x];
      ans = ans.empty() ? now : min(ans, now);
    }
  cout << ans << endl;
  return 0;
}
