#include <bits/stdc++.h>
#define ALL(x) (x).begin(), (x).end()
#define RALL(x) (x).rbegin(), (x).rend()
#define FSP(x) fixed << setprecision(x)
using namespace std;
using ll = long long;
constexpr ll INF = LLONG_MAX;
const long double PI = acosl(-1);
void Yes() {cout << "Yes\n";}
void No() {cout << "No\n";}
void YES() {cout << "YES\n";}
void NO() {cout << "NO\n";}

int main() {
	ios::sync_with_stdio(false);
	cin.tie(nullptr);
	//constexpr ll P = 1e9 + 7;
	//constexpr ll P = 998244353;

	ll n, k;
	string s;
	cin >> n >> k >> s;

	string t = s;
	reverse(ALL(t));
	string u = s + t;

	set<string> st;
	for (ll i = 0; i < n + 1; i++) st.insert(u.substr(i, n));

	deque<char> ans;
	for (ll i = 0; i < n; i++) ans.push_back((*st.begin())[i]);

	auto out_ans = [&] () {
		while (ans.size()){
			cout << ans.front();
			ans.pop_front();
		}cout << endl;
	};

	if (k == 1) {
		out_ans();
		return 0;
	}

	while (--k) {
		ll idx = -1;
		for (ll i = 0; i < n - 1; i++) {
			if (ans[i] != ans[i + 1]) {
				idx = i + 1;
				break;
			}
		}
		if (idx == -1) {
			out_ans();
			return 0;
		} else {
			while (idx--) {
				ans.push_front(ans.front());
				ans.pop_back();
			}
		}
	}
	out_ans();
}
