#include <bits/stdc++.h>
using namespace std;
string s, ss, s2, t, ans;
vector<pair<int, int> > v;
int n, k, i, z, l;
char mn = 127;
int main() {
  ios::sync_with_stdio(0);
  cin.tie(0);
  cin >> n >> k >> s;
  ss = s;
  reverse(ss.begin(), ss.end());
  ss = s + ss;
  for (char c : s) mn = min(mn, c);
  for (i = 0; i < n; ++i)
    if (s[i] == mn)
      v.push_back(pair<int, int>(++z, i));
    else
      z = 0;
  sort(v.begin(), v.end());
  if (k > 15 || (v.back().first << k - 1) >= n) {
    for (i = 0; i < n; ++i) cout << mn;
    return 0;
  }
  l = n - (v.back().first << k - 1);
  for (pair<int, int> u : v)
    if (u.first == v.back().first) {
      t = ss.substr(n * 2 - 1 - u.second - l, l);
      reverse(t.begin(), t.end());
      if (s2.empty() || t < s2) s2 = t;
    }
  ans = min(string(n - l, mn) + s2, s);
  cout << ans << endl;
  return 0;
}
