#include <bits/stdc++.h>
using namespace std;
int main() {
  string s, t;
  int n, k;
  set<char> x;
  cin >> n >> k;
  cin >> s;
  for (int i = 0; i < n; i++) {
    x.insert(s[i]);
  }
  if (k > n) {
    t = s;
    for (int i = n; i < k; i++) t = t + *x.begin();
    cout << t;
  } else {
    int d = k;
    while (k != 0) {
      for (set<char>::iterator f = x.begin(); f != x.end(); f++) {
        if (*f > s[k - 1]) {
          s[k - 1] = *f;
          t = s.substr(0, d);
          for (int j = k; j < d; j++) t[j] = *x.begin();
          cout << t;
          return 0;
        }
      }
      k--;
    }
  }
  return 0;
}
