#include <bits/stdc++.h>
using namespace std;
int n, k;
char x[10005], mi;
int main() {
  scanf("%d%d%s", &n, &k, x);
  for (int i = 0; i < n; i++) x[n + i] = x[n - 1 - i];
  if (k == 1) {
    string ans = string(x, n);
    for (int i = 1; i <= n; i++) ans = min(ans, string(x + i, n));
    printf("%s\n", ans.c_str());
    return 0;
  }
  mi = x[0];
  for (int i = 1; i < n; i++) mi = min(mi, x[i]);
  string ans = string(x, n);
  for (int i = 1; i <= n; i++)
    if (x[i - 1] == mi && (i == n || x[i] != mi)) {
      int cnt = 0;
      for (int j = 1; i - j >= 0 && x[i - j] == mi; j++) cnt++;
      if (i == n) cnt = min(n, cnt * 2);
      string cur = string(x + i + (i == n ? cnt / 2 : 0), n - cnt);
      if (cur.size() < ans.size() || cur < ans) ans = cur;
    }
  int cnt = n - ans.size();
  for (int i = 1; i < k && cnt != n; i++) cnt = min(n, cnt * 2);
  for (int i = 0; i < cnt; i++) printf("%c", mi);
  printf("%s\n", string(ans.c_str(), n - cnt).c_str());
}
