#include <bits/stdc++.h>
using namespace std;
int main() {
    ios::sync_with_stdio(false);
    cin.tie(nullptr);
    
    int n, k;
    cin >> n >> k;
    string s;
    cin >> s;
    
    char c = *min_element(s.begin(), s.end());
    string t = s;
    reverse(t.begin(), t.end());
    string u = s + t;
    int m = 1;
    while (k > 1 && m < n) {
        m = min(n, 2 * m);
        --k;
    }
    string ans;
    for (int i = 0; i <= n; ++i) {
        s = u.substr(i, n);
        if (s.back() != c)
            continue;
        int len = 0;
        while (len < n && s[n - len - 1] == c)
            ++len;
        int f = min(n, len * m);
        s = s.substr(f - len, n - f);
        while (s.length() < n)
            s += c;
        reverse(s.begin(), s.end());
        if (ans.empty() || ans > s)
            ans = s;
    }
    cout << ans << endl;
    return 0;
}