#include <bits/stdc++.h>
using namespace std;
const int Maxn = 5005;
int n, k, mini, maxi, cnt, ct;
string S[Maxn], str, tmp;
int main() {
  scanf("%d%d", &n, &k);
  cin >> str;
  for (int i = 0; i < n; i++) str += str[n - i - 1];
  for (int i = 0; i < 2 * n; i++) mini = min(mini, str[i] - 'a');
  for (int i = 0; i < 2 * n; i++) {
    if (str[i] - 'a' == mini)
      cnt++;
    else
      cnt = 0;
    maxi = max(maxi, cnt);
  }
  for (int i = 0; i < n + maxi * ((1 << (k - 1)) - 1); i++) {
    tmp = "";
    for (int j = i; j < i + n; j++) tmp += str[j];
    S[++ct] = tmp;
  }
  sort(S + 1, S + 1 + n);
  k = min(k, 30);
  if (maxi * (1LL << (k - 1)) >= n) {
    for (int i = 0; i < n; i++) putchar(mini + 'a');
    return 0;
  }
  for (int i = 0; i < maxi * ((1 << (k - 1)) - 1); i++) putchar(mini + 'a');
  for (int i = maxi * ((1 << (k - 1)) - 1); i < n; i++)
    putchar(S[1][i - maxi * ((1 << (k - 1)) - 1)]);
  return 0;
}
