#include <bits/stdc++.h>
using namespace std;
set<char> charSet;
int n, k;
string s, t;
bool inserted[30];
int main() {
  cin >> n >> k >> s;
  for (int i = 0; i < n; i++) {
    if (!inserted[(int)s[i] - 'a']) {
      charSet.insert(s[i]);
      inserted[(int)s[i] - 'a'] = true;
    }
  }
  if (k > n) {
    t = s;
    for (int j = n; j < k; j++) t += *charSet.begin();
    cout << t;
    return 0;
  }
  int tot = 0;
  t = s.substr(0, k);
  for (int i = k - 1; i >= 0; i--) {
    if (t[i] == *(--charSet.end())) {
      t[i] = *charSet.begin();
    } else {
      for (int j = (int)t[i] - 'a' + 1; j <= (int)'z' - 'a'; j++)
        if (inserted[j]) {
          t[i] = (char)j + 'a';
          break;
        }
      break;
    }
  }
  cout << t;
  return 0;
}
