N, K = map(int, input().split())
S = input()
T = S[::-1] #文字列反転
U = S + T
D = []
for i in range(N):
  D.append(U[i:i+N])
D.sort()
B = D[0]
for i in range(N):
  if B[i] != B[0]:
    break
if i * 1 << (K - 1) > N:
  print(B[0] * N)
else:
  print((B[0] * (i * (1 << (K - 1))) + B[i:])[:N])