#include <bits/stdc++.h>
using namespace std;
int n, k;
char s[100010];
int ans[100010];
set<char> se;
map<char, int> mp;
char mpi[26];
int sz;
int main() {
  cin >> n >> k;
  cin >> s;
  for (int i = 0; i < n; i++) se.insert(s[i]);
  for (auto c : se) {
    mpi[sz] = c;
    mp[c] = sz++;
  }
  for (int i = 0; i < n; i++) {
    ans[i] = mp[s[i]];
  }
  if (n == k) {
    ans[n - 1]++;
    for (int i = n - 1; i; i--) {
      ans[i - 1] += ans[i] / sz;
      ans[i] %= sz;
    }
  } else if (n < k)
    ;
  else {
    ans[k - 1]++;
    for (int i = k - 1; i; i--) ans[i - 1] += ans[i] / sz, ans[i] %= sz;
  }
  for (int i = 0; i < k; i++) {
    cout << mpi[ans[i]];
  }
  return 0;
}
