#include <bits/stdc++.h>
using namespace std;
signed main() {
  ios_base::sync_with_stdio(false);
  cin.tie(NULL);
  cout.tie(NULL);
  long long t = 1;
  for (long long i = 0; i < t; i++) {
    long long n, k;
    cin >> n >> k;
    string s;
    cin >> s;
    vector<char> store;
    map<char, long long> count;
    for (long long x = 0; x < n; x++) {
      count[s[x]]++;
      if (count[s[x]] == 1) store.push_back(s[x]);
    }
    sort(store.begin(), store.end());
    string ans = "";
    if (k > n) {
      ans = s;
      while (ans.length() < k) {
        ans += store[0];
      }
    } else {
      for (long long x = k - 1; x >= 0; x--) {
        if (s[x] != store[store.size() - 1]) {
          for (long long y = 0; y < store.size(); y++) {
            if (store[y] > s[x]) {
              ans += store[y];
              break;
            }
          }
          break;
        } else
          ans += store[0];
      }
      reverse(ans.begin(), ans.end());
      string temp = ans;
      ans = s.substr(0, k - ans.length());
      ans += temp;
    }
    cout << ans << '\n';
  }
  return 0;
}
